Nginx

nginx 代理子域到其他地址和埠

  • March 14, 2020

我是 nginx 的新手,但我需要根據子域創建一些代理規則以重定向到另一個 IP 和埠。

這是我的情況:

My domain.com has IP y.y.y.y and accepts requests on port 80
My subdomains are:
- admin.domain.com -> I need to proxy to x.x.x.x:3434
- user.domain.com -> I need to proxy tox.x.x.x:3435
- vendor.domain.com -> I need to proxy to x.x.x.x:3436

所有子域都映射到y.y.y.y但在 nginx 中我需要代理到x.x.x.x:ZZZ(ZZZ 是其他服務的特定埠)。

我正在嘗試這個例子但沒有成功:https ://rainbow-six3.com/plesknginx/

有人可以提供一個範例如何在 nginx 上配置它?

server {
   listen 80;
   server_name admin.domain.com;
   location / {
       proxy_set_header Host $host;
       proxy_pass http://127.0.0.1:3434;
       proxy_redirect off;
   }
}
server {
   listen 80;
   server_name user.domain.com;
   location / {
       proxy_set_header Host $host;
       proxy_pass http://127.0.0.1:3435;
       proxy_redirect off;
   }
}
server {
   listen 80;
   server_name vendor.domain.com;
   location / {
       proxy_set_header Host $host;
       proxy_pass http://127.0.0.1:3436;
       proxy_redirect off;
   }
}   

引用自:https://serverfault.com/questions/920534