使用 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,我对其进行了如下配置:

在此处输入图片描述

在此处输入图片描述

反向代理已打开。tracsvn都在同一台本地服务器 (192.168.0.26) 上运行。 问题是,当代理访问内部服务器时,本地服务器 Apache 总是尝试为trac子域提供服务,而不是按名称匹配。

我可以使用 的反向代理模块来实现这一点吗pfSense?我是否遗漏了一些明显的东西?

答案1

我知道这是一个迟来的回复,但迟做总比不做好:) 你现在可能已经整理好了,但是如果你没有...在运行相同 NIC 的本地服务器上创建一个辅助 IP 地址,并在单独的 IP 上运行每个网站。

我认为您永远无法使用相同的 IP 地址和端口为 2 个 https 站点提供服务,因为标头会因加密而丢失,并且您最终总是停留在主默认站点上。2 个 http 站点很好,但 2 个 https 站点需要不同的端口或不同的 IP。

相关内容