gpt4 book ai didi

nginx - 使用 nginx 路由到不同的服务器

转载 作者:行者123 更新时间:2023-12-05 06:45:38 26 4
gpt4 key购买 nike

有没有办法在将请求域保留在 URL 中的同时使用 nginx 作为路由器?例如,如果我点击 mysite.com,nginx 路由服务器会查看 URL 并将流量定向到特定服务器,同时在 URL 中维护原始请求的域。

例如

mysite.com/site1/params
Router -> site1.mysite.com/params

但即使在幕后site1.mysite.com/params正在被调用,用户看到 mysite.com/site1/params在 URL 中。

我试了一下配置,但似乎遇到了 404。

upstream site1 {
server site1.mysite.com;
}

location /site1 {
rewrite ^(.*)$ /$1 break;
proxy_pass http://site1;
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;
}

最佳答案

使用带尾部斜杠的位置,删除重写并使用 proxy_pass/ uri。 Nginx 会将 /site1/ 替换为 /。此外,您可能需要将 Host header 设置为 site1.mysite.com 而不是 $host

location /site1/ {
proxy_pass http://site1/;
proxy_set_header Host site1.mysite.com;
...
}

关于nginx - 使用 nginx 路由到不同的服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22670413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com