我刚刚安装了nginx,并有多个域名指向相同的IP。 当调用每个域时,我必须redirect到运行在同一台机器上的不同应用程序,每个应用程序运行在不同的端口上。
例如,我有app1.domain.com
, app2.domain.com
& app3.domain.com
所以,对于app1.domain.com
我必须redirect到localhost:<port1>
同样, app2.domain.com
我必须redirect到localhost:<port2>
和app3.domain.com
我必须redirect到localhost:<port3>
我怎么去?
提前致谢
那么如果你的应用程序在不同的端口上运行,那么你的nginx conf文件应该是这样的。
upstream app1 { server 127.0.0.1:port1; #App1 } upstream app2 { server 127.0.0.1:port2; #app2 } server { listen xxx.xxx.xxx.xxx:80; server_name app1.domain.com; access_log /var/log/nginx/log/app1.domain.com.access.log main; error_log /var/log/nginx/log/app1.domain.com.error.log; root /usr/share/nginx/html; index index.html index.htm; ## send request back to apache1 ## location / { proxy_pass http://app1; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_buffering off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen xxx.xxx.xxx.xxx:80; server_name app2.domain.com; access_log /var/log/nginx/log/app2.domain.com.access.log main; error_log /var/log/nginx/log/app2.domain.com.error.log; root /usr/local/nginx/html; index index.html; location / { proxy_pass http://app2; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_buffering off; proxy_set_header Host app2.domain.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
如果您有任何疑问,请让我知道。 谢谢