我正在尝试配置 Pound 代理配置文件,将所有请求通过 http 重定向到网站https://www.example.com。我也需要请求https://example.com重定向至https://www.example.com。
到目前为止我有以下代码并且它可以工作:
ListenHTTP
Address xx.xx.xx.xx
Port 80
Service
HeadRequire "Host:.*example.com.*"
Redirect "https://www.example.com"
End
End
Service
BackEnd
Address xx.xx.xx.xx
Port 8888
End
End
ListenHTTPS
Cert "/home/path/to/subdomain/ssl.everything"
Cert "/home/example/ssl.everything"
Address xx.xx.xx.xx
Port 443
HeadRemove "X-Forwarded-Proto"
AddHeader "X-Forwarded-Proto: https"
Ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384..."
Service
URL "^(/|.*)$"
Redirect "https://www.example.com"
End
End
但是,我不知道如何在 ListenHTTP 中制定规则:
Service
HeadRequire "Host:.*example.com.*"
Redirect "https://www.example.com"
End
尊重同一域的其他子域。目前不幸的是,所有子域也被重定向到https://www.example.com。
ListenHTTPS 部分中的规则也存在同样的问题。它将所有请求重定向到https://www.example.com:
Service
URL "^(/|.*)$"
Redirect "https://www.example.com"
End
而我只需要https://example.com重定向至https://www.example.com。
机器人 ListenHTTP 和 ListenHTTPS 块的正确模式应该是什么,以忽略同一 IP 上的所有其他域和子域?
答案1
请记住:第一个适用的规则一定会被应用!基本上,您应该在规则列表的最末端制定通配符规则。