我快乐 發表於 2020-7-5 18:05:00

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

<p>在真实的线上环境中,一个网站需要域名和公网IP才可以访问。在本地代码调试的时候,可以利用系统提供的hosts文件来设置一个虚拟的域名,并利用Nginx将域名解析到指定的IP地址和端口。</p>
<h2 id="1-修改hosts文件实现域名的访问">1. 修改hosts文件,实现域名的访问。</h2>
<p>以Windows开发环境为例,打开C:\Windows\System32\drivers\etc目录下的hosts文件。添加<code>127.0.0.1 jd.com</code>,完成IP地址(127.0.0.1)和域名(jd.com)映射的配置。如果修改后无法保存,请获得管理员权限后重试。</p>
<p>如果是频繁修改hosts文件,推荐使用一款快速切换host的工具SwitchHosts!。</p>
<p>这样就可以把jd.com映射到本机,在本地启动服务的之后,则可以通过jd.com:{端口号}进行访问了。</p>
<h2 id="2-通过nginx代理解决端口映射问题">2. 通过Nginx代理解决端口映射问题</h2>
<p>注意到上述访问时需要加端口号的,如果想去除端口号,实现更加优雅的方式进行访问,需要使用Nginx把所有请求转移到默认的80端口。这里用到Nginx的代理功能,具体配置:</p>
<pre><code>server {
        listen       80;
        server_namejd.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;
        }
}
</code></pre>
<p>注意修改配置文件之后需要重启Nginx才能生效,有时候会忘记。</p>


</div>
<div id="MySignature" role="contentinfo">
    由于博主也是在攀登的路上,文中可能存在不当之处,欢迎各位多指教! 如果文章对您有用,那么请点个”推荐“,以资鼓励!
欢迎各位加我主页weixin,备注“博客园”,进入技术交流群,和我一起讨论和交流,共同进步!<br><br>
来源:https://www.cnblogs.com/sgh1023/p/13247018.html
頁: [1]
查看完整版本: 使用Host和Nginx把自定义域名映射到本地