nginx如何映射子域名?

我现在一台主机上运行了几个web服务,目前通过端口进行区分,想通过子域名对外提供服务地址。

我在nginx的nginx.conf中做了如下配置:

    server {
        listen       80;
        server_name  abc.xxx.com;
        
        location / {
                  proxy_pass http://127.0.0.1:84;
                  proxy_set_header Host $host;
                  proxy_set_header X-Real-IP $remote_addr;
                  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                 # proxy_redirect off;
        }

想把本地的服务"http://127.0.0.1:84"通过子域名"abc.xxx.com"的80端口进行访问?
但是通过访问"abc.xxx.com"貌似只访问到当前IP地址和默认的80端口。

求教:如何使用nginx进行子域名以及端口映射?

阅读 10.9k
1 个回答

和server平级的多配置几个server即可,server_name域名和listen的端口你按需设置

server {
    listen       80;
    server_name  abc.xxx.com;
    
    location / {
          proxy_pass http://127.0.0.1:84;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          # proxy_redirect off;
    }
}

server {
    listen       84;
    server_name  xyz.xxx.com;
    
    location / {
        # another config
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题