![nginx 代理子域名到其他地址和端口](https://linux22.com/image/724413/nginx%20%E4%BB%A3%E7%90%86%E5%AD%90%E5%9F%9F%E5%90%8D%E5%88%B0%E5%85%B6%E4%BB%96%E5%9C%B0%E5%9D%80%E5%92%8C%E7%AB%AF%E5%8F%A3.png)
我是 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 上配置的示例吗?
答案1
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;
}
}