我已经有一个为两个测试站点工作的 Squid 反向代理。
我的两个网站是www.test1.com和www.test2.com
我当前的工作配置文件如下所示
/etc/squid3/squid.conf
acl test1_acl dstdomain www.test1.com
acl test2_acl dstdomain www.test2.com
aclSSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !Safe_ports
http_access allow localhost manager
http_access deny manager
http_access allow pi1_acl
http_access allow pi2_acl
http_access allow localhost
http_access deny all
http_port 80 accel defaultsite=127.0.0.1
cache_peer 192.168.1.x parent 80 0 proxy-only name=test1
cache_peer 192.168.1.y parent 80 0 proxy-only name=test2
cache_peer_access test2 allow test2_acl
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 20% 2880
refresh_pattern . 0 20% 4320
正如我所说,此配置有效,但我想添加几个 https 站点。我尽力遵循示例这里,但它的设置与其推荐的配置格式(或至少是默认格式)略有不同。
有关我想要转发到的 https 站点的更多信息:
它已经有一个 .key 和 .crt 文件,并且 https 在其上运行良好。
我将 .key 和 .crt 文件复制到 squid 框中,并在配置文件中引用这些文件的位置。(不确定是否应该将 .crt 和 .key 文件留在服务器上,但我这样做了)
我没有在服务器上做任何其他更改...所以如果我应该这样做的话,我没有在任何地方看到它。
这是我的新配置文件。
/etc/squid3/squid.conf
#new lines
https_port 443 accel defaultsite=127.0.0.1 cert=/path/to/myCert.crt key=/path/to/myKey.key
acl newServer_acl dstdomain www.newserver.com
http_access allow newServer_acl
cache_peer 192.168.1.z parent 443 0 proxy-only name=newserver ssl sslcafile=/path/to/myCert.crt
#end new lines
acl test1_acl dstdomain www.test1.com
acl test2_acl dstdomain www.test2.com
aclSSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !Safe_ports
http_access allow localhost manager
http_access deny manager
http_access allow pi1_acl
http_access allow pi2_acl
http_access allow localhost
http_access deny all
http_port 80 accel defaultsite=127.0.0.1
cache_peer 192.168.1.x parent 80 0 proxy-only name=test1
cache_peer 192.168.1.y parent 80 0 proxy-only name=test2
cache_peer_access test2 allow test2_acl
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 20% 2880
refresh_pattern . 0 20% 4320
这是我第一次使用 squid 或 https 站点设置反向代理,所以我确信这是一个小错误,但我查看了其他配置文件,似乎没有发现问题。
任何帮助都将受到赞赏。
答案1
根据我的研究,这似乎不是一个简单的配置文件问题。Squid 必须使用标志进行编译--enable-ssl
,而这对于基于 Debian 的发行版来说似乎相当困难。在我看来,Squid 更适合基于 RPM 的发行版。请参阅这里了解更多信息。
我现在将其标记为答案,除非有人稍后发布更有意义的内容。