使用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才能生效,有时候会忘记。

posted @   James_Shangguan  阅读(4620)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示