apache-2.2 – 来自后端的301的nginx负载均衡问题
|
我遇到了一个奇怪的问题,我不确定它是配置问题还是nginx中的错误.我的设置是一个nginx反向代理,它有Apache2后端服务器.负载平衡器非常基本类似于example from the wiki,例如简化:
现在,例如当我尝试在Apache中请求目录时,会出现问题,而在URL的末尾没有尾部斜杠.例如,客户端请求:
Apache将使用HTTP 302进行回复以将客户端重定向到
注意,url最后有一个斜杠,注意它是一个目录.另请注意,通过在重定向标头中使用传入请求主机名,Apache是“智能”的.到目前为止都很好.但是,当使用具有负载平衡的nginx时,将301发送到客户端,而不将nginx上游名称转换回实际的服务器/域.所以客户将收到以下内容:
myproject是nginx上游后端的名称.它不是客户端可以解析的实际主机.在我看来,客户端应该被重定向到
即应该在响应头中替换上游后端的名称.这是nginx中的错误还是我做错了什么? 最佳答案 原来nginx有很多proxy redirect选项来处理这类问题.我最终使用了这样的东西:
这基本上用$host替换了上游名称并删除了端口.这在我的情况下工作,因为我在HTTP / HTTPS的默认端口上托管nginx.如果nginx在非默认端口上运行,则需要这样的东西: (编辑:日照站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby-on-rails – 如何使用不同的用户运行nginx主进程
- 如何在不重新加载/重启fpm本身的情况下将池添加到FPM(nginx
- 使用nginx和Drupal,如何为存在的静态文件和目录提供404错误
- nginx – 如何在Lua中对request_uri字符串进行urldecode
- Nginx proxy_pass到密码保护上游
- OpenResty:使用已经给定的/etc/nginx/nginx.conf文件配置l
- nginx重定向到localhost
- NginX和PHP-FPM,随机502
- 如何在nginx反向代理后面的CakePHP中安全地检测SSL?
- node.js – socket.io何时使用轮询而不是websockets?
