我有一个处理 PHP 请求的 nginx 服务器,但它被配置为侦听非标准端口(端口 12345 或其他端口)。我无法更改监听端口,因为公司 IT 说“不”。
数据中心有一个代理,将来自 www.domain.com:80 的请求转发到端口 12345 上的 nginx 盒子。
我有一些需要放置的静态 301 重定向,但出现了意外行为。
site.conf "server { }" 块中的示例重定向:
rewrite ^/foo$ /bar/foo/ permanent;
当我尝试访问 www.domain.com/foo 时,会发生重定向,但它会尝试将浏览器转发到 www.domain.com:12345/bar/foo/
我的问题是,如何让 nginx 将用户重定向到正确的端口(www.domain.com/bar/foo/)?
也许一个更好的问题是,做我所问的正确方法是什么?有 50 多个重定向需要进入,我不想为每个重定向创建一个“位置”部分。