Apache-2.2
Varnish 作為 Apache2 伺服器的反向代理,埠重定向問題
我一直在尋找,有很多人有同樣的問題,但沒有明確的解決方案(或者至少我沒有找到)。
我正在使用 Varnish-Cache (3.0) 作為在埠 80 中偵聽的反向代理,用於偵聽埠 88 的 Apache 2 網路伺服器。
如果我請求以下 URL,它可以正常工作:http://server/stuff/
但是,如果我這樣請求:http://server/stuff(末尾沒有“/”),瀏覽器將被重定向到後端 Apache 的埠(http://server:88/stuff/)。
在這種情況下如何設置 Apache 2 的行為?
提前致謝!
檢查 httpd.conf 上的 UseCanonicalName 指令
# # UseCanonicalName: Determines how Apache constructs self-referencing # URLs and the SERVER_NAME and SERVER_PORT variables. # When set "Off", Apache will use the Hostname and Port supplied # by the client. When set "On", Apache will use the value of the # ServerName directive. # UseCanonicalName Off
您也可以在清漆上刪除它,試試這個:
sub vcl_fetch { if (beresp.status == 301 || beresp.status == 302) { set beresp.http.Location = regsub(beresp.http.Location, "^(\w+://[^/]+):\d+", "\1"); } }