![Web 应用程序的 Squid 配置](https://linux22.com/image/28867/Web%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%20Squid%20%E9%85%8D%E7%BD%AE.png)
我正在开发一个项目,其中我的软件试图连接在公共域中某个不寻常端口上运行的服务器。 (我自己已将此服务器设置在公共域中)。我的公司防火墙不允许我通过这个不寻常的端口连接到该服务器。因此,我在运行服务器的同一台计算机上配置了 Web 代理(即 Web 代理和我的服务器具有相同的 IP 地址),希望我能使用此 Web 代理从我的公司网络访问被阻止的端口。
现在的问题是,我的网络代理确实允许我访问其他所有内容(即它很好地为我提供了匿名性),但是当我尝试访问服务器(在同一 IP 地址上运行)时,我无法访问通过网络代理。我在网络代理中只允许我的公司 IP 地址允许访问并拒绝其他人。给出的是Squid的配置。
acl cspnet src A.B.C.D/32
http_access allow cspnet
# And finally deny all other access to this proxy
http_access deny all
http_port 8080
coredump_dir /usr/local/squid/var/cache/squid
# Add any of your own refresh_pattern entries above these.
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
我不想将 Squid 配置为作为我的服务器的加速器,我只想从我的公司网络的客户端访问我的服务器的不寻常端口。 ABCD 也是我的服务器运行的IP 地址。我也尝试过类似的事情
acl safe_port port X
&
http_access allow localhost
但似乎没有任何作用。同一个服务器在公共域中的另一个 IP 地址(我已设置)上运行,并且通过我的网络代理(我在上面配置),我可以从以下位置访问该服务器(绑定到不同的 IP 地址):我的公司网络,但不是位于同一 IP 地址的这个网络。有什么想法吗 ?
这是更多信息。尝试连接到我的服务器的客户端软件正在基于控制台(无可用接口)的嵌入式 Linux 盒子上运行。我认为使用 SSH 隧道需要我首先通过盒子上的 SSH 隧道登录(使用一些 SSH 客户端 - 即 Putty),然后我可以运行我的客户端软件。其次,我可以在我的盒子软件中添加支持以通过 SSH 隧道登录,但我不想在这方面浪费时间。我不确定与 SSH 隧道的连接是否可以无缝,所以我认为更好的解决方案是将我的 Linux 盒子配置为使用 Web 代理作为系统网络配置,以便所有网络访问都通过 Web 代理进行。
好的。我尝试从squid.conf 中删除所有内容,然后就离开了
http_access allow all
我仍然无法访问本地主机上运行的服务器。这意味着问题不在squid.conf 中,我需要在某处添加其他内容以允许通过squid 访问本地主机上运行的服务器。
好的。另一个测试。我的服务器计算机上还运行着一个网络服务器(阿帕奇)。通过网络代理,当我尝试访问我的网络服务器时,我得到了我的页面。 (我相信)这证实了问题出在我试图访问的服务器中的某个地方?我尝试访问的服务器正在侦听 9000 端口。
答案1
好的。问题出在我的最后。我正在测试 Firefox 通过网络代理与我的服务器的连接,我只需要在 Firefox 代理选择设置中选择“对所有协议使用此代理服务器”,选择此选项后我就可以通过 Firefox 访问我的服务器。