1 server {
 2         listen 80;
 3 
 4         server_name pan.rulef.com;
 5 
 6         location / {
 7 
 8                 proxy_pass http://localhost:8080;
 9         }
10 }

Nginx配置多域名代理

 

目的

当我们有多个站点需要对外网开放,每个站点的域名都不一样,然而我们只有一个外网ip。这种情况下,我们就可以使用一个nginx来配置多域名代理。这种代理方式可以解决,在同一个端口上针对不同域名代理不同的站点。这样对外看起来就像是有多台机器同时对外开发一样。

操作步骤

  1. 进入nginx安装目录下的sites-enabled目录
  2. 一般刚安装好的的nginx可以在该目录下看到default配置文件,该文件可以用作配置文件模板,同时该文件做了最基本的监听80端口
  3. 拷贝一份文件用于监听新的域名,如监听:tech.abc.com。命令为:
root@test:/etc/nginx/sites-enabled# cp default tech
  1. 修改该配置的监听域名:
root@test:/etc/nginx/sites-enabled# vi tech

## 进入编辑页面
## 将server_name的属性改为: tech.abc.com

server_name tech.abc.com

## 退出 ESC :wq
  1. 重载配置
root@test:/etc/nginx/sites-enabled# nginx -s reload
  1. 如果需要再配置一个test.abc.com或者其他域名, 只需要再拷贝一个配置文件,修改server_name,然后重载配置文件即可

注意

阿里云等云服务器提供商对nginx代理做了限制,如果所代理的站点未备案,则不允许进行代理。解决这个问题的方案,可以使用国外的服务器来做nginx代理服务器,不过这个方案的速度相对较慢。