使用Host和Nginx把自定義域名映射到本地

在真實的線上環境中,一個網站需要域名和公網IP纔可以訪問。在本地代碼調試的時候,可以利用系統提供的hosts文件來設置一個虛擬的域名,並利用Nginx將域名解析到指定的IP地址和端口。

1. 修改hosts文件,實現域名的訪問。

以Windows開發環境爲例,打開C:\Windows\System32\drivers\etc目錄下的hosts文件。添加127.0.0.1 jd.com,完成IP地址(127.0.0.1)和域名(jd.com)映射的配置。如果修改後無法保存,請獲得管理員權限後重試。

如果是頻繁修改hosts文件,推薦使用一款快速切換host的工具SwitchHosts!

這樣就可以把jd.com映射到本機,在本地啓動服務的之後,則可以通過jd.com:{端口號}進行訪問了。

2. 通過Nginx代理解決端口映射問題

注意到上述訪問時需要加端口號的,如果想去除端口號,實現更加優雅的方式進行訪問,需要使用Nginx把所有請求轉移到默認的80端口。這裏用到Nginx的代理功能,具體配置:

server {
	listen       80;
	server_name  jd.com;

  
	location / {
	      proxy_pass http://localhost:9999;
	      proxy_set_header   Cookie $http_cookie;
	      proxy_set_header Host $host;
	      proxy_set_header X-Real-IP $remote_addr;
	      proxy_set_header REMOTE-HOST $remote_addr;
	      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}
	
	error_page   500 502 503 504  /50x.html;
	location = /50x.html {
		root   html;
	}
}

注意修改配置文件之後需要重啓Nginx才能生效,有時候會忘記。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章