1

我通过 nginx(代理)设置 webmin,并且有两个问题 1)如果我不使用 rewrite,那么 webmin 在登录后将我重定向到 10000 端口 2)如果我使用 mod rewrite,那么我看到错误 310(net::ERR_TOO_MANY_REDIRECTS ):在我的浏览器上。

我的 nginx 配置:

server {
listen 80;
server_name cp.domain.com www.cp.domain.com;

if ($http_host != "cp.domain.com:10000") {
               rewrite ^ http://cp.domain.com$request_uri permanent;
   }
location / {
proxy_pass http://localhost:10000/;
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_buffering off;
tcp_nodelay on;
}
}

什么问题?最好的问候,谢谢

4

1 回答 1

2

你的 nginx 反向代理设置不应该重定向到 10000,除非你有一个特殊的proxy_redirect指令告诉 nginx 否则这样做。其他人正在这样做。

因为您的服务器块仅侦听端口 80。所以您的条件

  $http_host != "cp.domain.com:10000"

将始终为真,因为 $http_host 的端口部分始终为 80。这就是重定向循环发生的方式。基本上 if 块在这里没用。

于 2013-03-23T18:20:25.830 回答