如何解决nginx代理-操作主机并处理后端重定向
我正在尝试建立一个代理,该代理应仅将另一个服务器的域保密。
以下示例: 用户转到https://sub1.myserver.com/page1,服务器从https://sub1.otherserver.com/page1返回响应。
但是,如果其他服务器回复3xx,则nginx应该相应地调整位置。即出 301位置https://sub2.otherserver.com/page1 变成 301位置https://sub2.myserver.com/page1。
我目前具有以下配置(myserver.com是localhost):
server {
listen 80;
server_name ~^(?<subdomain>.+)\.localhost$;
location / {
rewrite ^/(.*)$ https://$subdomain.otherserver.com/$1;
proxy_redirect ~^https?://([^/]+)\.otherserver\.com(.+)$ https://$1.localhost$2;
}
}
如果另一台服务器回答200,则一切正常。 不幸的是,对于3xx的答案,我没有得到答案(ECONNREFUSED)。
如果将4xx响应作为5xx响应传递并记录错误消息,则会更有帮助。
也许有人可以告诉我我做错了什么-或提出更好的方法? 预先谢谢你。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。