Nginx配置多域名代理
1 server { 2 listen 80; 3 4 server_name pan.rulef.com; 5 6 location / { 7 8 proxy_pass http://localhost:8080; 9 } 10 }
https://www.cnblogs.com/iuuxx/p/14156341.html
Nginx配置多域名代理
目的
当我们有多个站点需要对外网开放,每个站点的域名都不一样,然而我们只有一个外网ip。这种情况下,我们就可以使用一个nginx来配置多域名代理。这种代理方式可以解决,在同一个端口上针对不同域名代理不同的站点。这样对外看起来就像是有多台机器同时对外开发一样。
操作步骤
- 进入nginx安装目录下的sites-enabled目录
- 一般刚安装好的的nginx可以在该目录下看到default配置文件,该文件可以用作配置文件模板,同时该文件做了最基本的监听80端口
- 拷贝一份文件用于监听新的域名,如监听:tech.abc.com。命令为:
root@test:/etc/nginx/sites-enabled# cp default tech
- 修改该配置的监听域名:
root@test:/etc/nginx/sites-enabled# vi tech
## 进入编辑页面
## 将server_name的属性改为: tech.abc.com
server_name tech.abc.com
## 退出 ESC :wq
- 重载配置
root@test:/etc/nginx/sites-enabled# nginx -s reload
- 如果需要再配置一个test.abc.com或者其他域名, 只需要再拷贝一个配置文件,修改server_name,然后重载配置文件即可
注意
阿里云等云服务器提供商对nginx代理做了限制,如果所代理的站点未备案,则不允许进行代理。解决这个问题的方案,可以使用国外的服务器来做nginx代理服务器,不过这个方案的速度相对较慢。