使用hosts+Nginx进行本地开发

背景

在本地代码调试的时候,我们可以利用系统提供的hosts文件来设置一个虚拟的域名,并利用Nginx将域名解析到指定的IP地址和端口。

修改hosts文件,实现域名的访问

hosts是一个没有扩展名的系统文件,可以用记事本等工具打开。其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”。

当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

知道了原理后,我们就打开hosts文件,添加127.0.0.1 sora.com,完成IP地址(127.0.0.1)和域名(sora.com)的映射。

另外,或许你每次都要百度“怎么打开hosts文件”“hosts文件在哪个目录下”,这里提供一个使用命令行工具管理hosts文件的方法。

首先全局安装hosts.sh

sudo npm install --global hosts.sh
复制代码

然后建立IP地址和URL的映射关系

hosts add IP URL
复制代码

这样就大功告成啦✨程序的更多用法可以参考www.npmjs.com/package/hos…

本地启动服务后,就可以通过sora.com:端口号进行访问了。在这里,我们假设是sora.com:9080

通过Nginx代理解决端口映射问题

注意到上述访问是需要加端口号的,如果想去除端口号,需要使用Nginx把所有请求转移到默认的80端口。

一个简单的nginx配置:

//nginx.conf
server {
  listen       80;
  server_name  sora.com;
​
  location /happy-sora/ {
        proxy_pass http://localhost:9080;
        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;
  }
}
复制代码

到这里我们就可以访问sora.com/happy-sora进行愉快地调试啦!✨

参考博客

文章大部分内容搬运自使用Hosts和Nginx把自定义域名映射到本地,自己加了一些自己额外学习到的东西,如有错误,还请指出~

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享