使用 pfSense 將 Apache 反向代理遷移到 Squid3

使用 pfSense 將 Apache 反向代理遷移到 Squid3

我目前有一個pfSense防火牆,可將連接埠 80 和 443 重定向到內部 Apache,該內部 Apache 充當我們公司多個子網域的反向代理。

由於pfSense透過 Squid3 提供反向代理,我想擺脫 Apache 伺服器並用它來路由所有內容pfSense

我目前的 Apache 配置是這樣的:

<VirtualHost *:80 *:443>
    RewriteEngine   on
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

    ServerName trac.mycompany.com
    SSLProxyEngine on

    SetEnv force-proxy-request-1.0 1
    SetEnv proxy-nokeepalive 1

    ProxyPreserveHost On
    ProxyPass / https://trac.mycompany.com/
    ProxyPassReverse / https://trac.mycompany.com/
    ProxyVia on
</VirtualHost>

<VirtualHost *:80 *:443>
    ServerName svn.mycompany.com
    ProxyPass / http://svn.mycompany.com/
    ProxyPassReverse / http://svn.mycompany.com/
    ProxyVia On
</VirtualHost>

正如您所看到的,兩者都非常簡單。我知道使用帶有 HTTPS 和單一外部 IP 位址的虛擬主機會限制我使用自簽名證書,並且我知道其中的風險,但目前不在乎(我只想發送使用者名稱和密碼)加密)。

在 上pfSense,我配置如下:

在此輸入影像描述

在此輸入影像描述

反向代理已開啟。兩者都在同一本地伺服器(192.168.0.26)上運行tracsvn問題是,當代理程式存取內部伺服器時,本機伺服器 Apache 總是嘗試為trac子網域提供服務,而不是按名稱進行比對。

這是我可以使用 的反向代理模組完成的事情嗎pfSense?我在這裡遺漏了一些明顯的東西嗎?

答案1

我知道這是一個遲到的回复,但遲到總比不到好:) 您現在可能已經解決了自己的問題,但如果您沒有...在運行相同NIC 的本地伺服器上創建一個輔助IP 地址,並在單獨的IP 上運行每個網站。

我不認為你可以透過相同的 IP 位址和連接埠為 2 個 https 網站提供服務,因為標頭會因加密而遺失,而且你總是會出現在主預設網站上。 2 個 http 站點可以,但 2 個 https 站點需要不同的連接埠或不同的 IP。

相關內容