使用 Pound 代理将所有请求重定向到 https://www 版本

使用 Pound 代理将所有请求重定向到 https://www 版本

我正在尝试配置 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

请记住:第一个适用的规则一定会被应用!基本上,您应该在规则列表的最末端制定通配符规则。

相关内容