我遇到了一个问题,即网站上的某些重定向包含代理通行端口,使它们无用。我的配置如下:
物理服务器1:
server {
server_name example.com www.example.com;
location / {
proxy_pass http://1.1.1.1:50493;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host "example.com";
}
}
物理服务器 2:
server {
listen 50493;
server_name example.com www.example.com;
set_real_ip_from 1.1.1.1;
root /var/www/example.com;
index index.php index.htm index.html;
location / {
if ($http_host !~ "^example.com"){
set $rule_0 1$rule_0;
}
if ($rule_0 = "1"){
rewrite ^/(.*) http://example.com/$1 permanent;
}
rewrite /[^/]+/([0-9]+)-[^/]+.html http://example.com/showthread.php?t=$1 permanent;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/example.com$fastcgi_script_name;
include fastcgi_params;
fastcgi_read_timeout 600s;
fastcgi_buffer_size 512k;
fastcgi_buffers 16 512k;
}
}
一般来说,浏览工作正常。该网站可以按预期浏览。但是,某些重定向的链接(例如,在登录操作之后)会重定向到包含端口 50493 的链接。所以我们以http://example.com:50493/index.php为例。那不管用。我的问题是,如何删除端口?
据我所知,论坛软件从 php 会话端口变量中获取端口。我尝试将 port_in_redirect 设置为 off,但无济于事。如果有帮助,这里强调的问题:http: //kb.parallels.com/en/114425是类似的。
谢谢你。