我有一个简单的问题
我已经这样做了
上游服务器{
ip_哈希;
服务器A;
服务器B;
服务器C;
服务器D;
服务器E;
服务器F;}
服务器{
监听80;
server_nametest.server;
位置/{
proxy_set_headerX-Forwarded-Host$host:$server_port;
proxy_set_headerX-Forwarded-Server$host;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
proxy_pass超文本传输协议://他的服务器;
}}
但问题是...上面的解决方案不会重写响应中的位置标头...所以我总是重定向到这6个上行流中的任何一个
然后我做了这个
proxy_redirect超文本传输协议://hisserver/;
但还是不行我终于做到了
代理重定向http://A/ /;
代理_重定向http://B//
代理_重定向http://C/ /;
代理_重定向http://D/ /;
代理_重定向http://E/ /;
代理_重定向http://F/ /;
而且很有效。。
我认为nginx默认情况下会匹配上游并重写位置头。。
有什么建议吗。。
我认为我的解决方案相当老套
每个服务器在其位置响应头中返回不同的主机名,因此您的proxy_redirect
语句必须与这些主机名匹配。
您可以使用单独的proxy_redirect
语句匹配每个主机名,正如您在问题末尾所演示的那样。
或者,proxy_redirect
允许您使用正则表达式。有关详细信息,请参阅本文档。
例如:
proxy_redirect ~*http://[^/]+(/.*)$ $1;
以上陈述应取代问题末尾的六个陈述。[^/]
表达式匹配任何主机名,(/.*)$
表达式捕获要在替换中使用的URI。
问题内容: 不知道为什么这不起作用。这是代码: 而不是重定向页面,此输出到网页。它跳过了重定向。为什么?我怎样才能解决这个问题?page1.php是一个实际页面,与当前页面位于同一文件夹中。上面的代码是php文件的第一行。没什么 没有。甚至没有空格。 问题答案: Pekka在评论中回答了我的问题。他没有发布答案,所以我现在是。标头重定向后使用此方法。由于某种原因,页眉的其余代码在header()方
问题内容: 这是我的档案。我想使其重定向,但是什么也没有发生。为了查看发生了什么,我在标题部分之前添加了回显。 它既不会引发错误,也不会重定向到index.php。怎么了?我已打开/关闭输出缓冲,但是没有任何东西可以使其重定向。我能做什么? 谢谢 问题答案: 我提醒自己,我已经在实际的测试环境中安装了xDebug,在对其进行了搜索之后,我发现了以下站点:http ://bugs.xdebug.or
问题内容: 我使用的是node-http-proxy,想要监视特定的响应标头,并在必要时重写它。这里有人建议这样做吗? 我的代理服务器位于几个不同的节点服务器以及一个Java WebApp的前面。Java应用程序正在设置Cookie,但是该Cookie的路径相对于Web应用程序的上下文。我需要cookie是安全的,并且有一个无需修改Java应用程序即可到达root的路径。 换句话说,将返回以下标头
问题内容: 有人可以建议我在这里做错什么吗? 我正在尝试使用Java获取特定URL的标头位置,这是我的代码: 这很奇怪,因为我确定我要确保返回的URL标头是URL,并且使用诸如getContentType()或getContentLength()之类的方法可以完美地工作 问题答案: 可能标头作为重定向响应的一部分返回。如果是这样,则通过向指向的资源发出第二个请求来自动处理重定向,因此您需要禁用它:
问题内容: 我有此代码,为什么我的标题位置不起作用?它是一种在我的控制面板中更新,编辑和删除某些页面的形式…并且我在form.php的同一文件夹中有一个index.php文件…任何帮助吗?()我试图将标题放在编辑和删除…并且仍然转到表单页面而不是索引… 解决: 使用@ Mihai Iorga代码,我添加了ob_start(); 问题答案: 那是因为您有一个输出: 导致空白行输出。 在发送任何实际输
我正在尝试使用角和Spring启动编写登录页面,但我无法阅读角的帖子响应。 表单登录 ts组件 服务身份验证 问题是:我怎样才能得到回复后的标题……我想得到授权