2017-03-06 22 views
0

我正在創建一個.net MVC web應用程序。我正在嘗試創建自定義URL並在本地主機上重定向用戶。如何使用主機文件創建重定向

在我的主機文件,我已經加入這個

127.0.0.1 www.moss.namaz.no 
127.0.0.1 api.moss.namaz.no 
127.0.0.1 files.moss.namaz.no 

我的應用程序偵聽端口80。所以,當我在瀏覽器中鍵入localhost,它帶我到我的應用程序,但是當我輸入www.moss。 namaz.No,它說不好的要求。我必須添加其他東西才能使用它?

我也有這個在我的路由配置文件

#if DEBUG 
     // redirect localhost 
     routes.MapRoute(
      name: "LocalhostRedirect", 
      url: "", 
      defaults: new { controller = "Home", action = "Index", path = "http://www.moss.namaz.no" }, 
      constraints: new 
      { 
       subdomain = new SubdomainRouteConstraint("localhost") 
      } 
     ); 
#endif 

回答

1

我會建議你使用一些代理服務器像nginx的分發請求。你可以簡單地設置路由在Nginx的像

server { 
    listen  80; 
    server_name www.moss.namaz.no; 

    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header Host $host; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_pass http://127.0.0.1:8080; 
    } 
} 

server { 
    listen  80; 
    server_name api.moss.namaz.no; 

    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header Host $host; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_pass http://127.0.0.1:8080; 
    } 
} 

//same for files.moss.namaz.no 

這樣一來,所有的域映射到你的IP,您可以使用域名請求他們。

P.s.唯一的問題是你需要設置你的應用程序來監聽其他端口,在我的例子中,我設置了8080,因爲Nginx會監聽那個端口,你也可以將Nginx設置爲其他端口。