使用 squid 进行反向代理

使用 squid 进行反向代理

我正在尝试设置一个反向代理,以便我的网络上可以拥有多个 Web 服务器。

我目前有 2 台服务器:

10.0.0.45 - New Server Webserver/Squid Proxy
10.0.0.40 - Old Server Webserver

我可以将新服务器(10.0.0.45)上端口 1234 上的所有流量发送到旧服务器(10.0.0.40)上的端口 80。但现在我在尝试转发域时遇到问题。

我想这样转发:

*.arcath.net -> 10.0.0.40
londinium.arcath.net -> 10.0.0.45
support.ed-itsolutions.com -> 10.0.0.40

如果我必须手动添加所有子域而不是 *,我不会太在意。

有人能给我一个配置示例来做到这一点吗?

我的 squid.conf 如下所示:

http_port 1234 defaultsite=10.0.0.45:80
cache_peer 10.0.0.40 parent 80 0 no-query originserver name=whitefall
cache_peer_domain whitefall www.arcath.net blog.arcath.net .arcath.net
cache_peer 10.0.0.45 parent 80 0 no-query originserver name=londinium
cache_peer_domain londinium londinium.arcath.net

acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443          # https
acl SSL_ports port 563          # snews
acl SSL_ports port 873          # rsync
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl Safe_ports port 631         # cups
acl Safe_ports port 873         # rsync
acl Safe_ports port 901         # SWAT
acl web dstdomain 10.0.0.40
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow all
http_access allow localhost

目前所有域名最终都转到 10.0.0.45

答案1

下面包含您尝试实现的目标的示例:http://wiki.squid-cache.org/ConfigExamples/Reverse/MultipleWebservers

请尝试将上述配置中的默认站点指令更改为

http_port 1234 defaultsite=londinium.arcath.net

根据 squid 文档

defaultsite=domainname
        What to use for the Host: header if it is not present
        in a request. Determines what site (not origin server)
        accelerators should consider the default.
        Implies accel.

答案2

如果您尝试设置具有负载平衡的反向缓存代理...请在进一步配置 squid 之前阅读此内容。如果我误解了您的需求,请忽略此帖子。

http://varnish-cache.org/wiki/ArchitectNotes

相关内容