我一直尝试让 lighttpd 或 apache2(我更喜欢 lighttpd)在代理后面工作,但到目前为止还没有成功。
我想要的是在代理后面运行 lighttpd(或端口 80),这样当有人访问 some.website.com 时,该域的 DNS 指向代理服务器的 IP 地址,他们最终会进入我的 http 服务器的页面。
这将允许我使用服务器的资源,同时隐藏其 IP 地址。
不幸的是,使用该proxychains
程序没有奏效。对于 lighttpd,它给出了错误getaddrinfo failed: Unknown error ' ::'
并proxychains apache2 start
启动正常,但似乎什么也没做。我确实测试了 proxychains 程序本身是否有效,它在 what-is-my-ip 类型的网站上使用 curl 很好地使用了代理。
如果你想知道;我暂时使用家庭服务器,并且不想公开我的 IP 地址。
有什么想法吗?HTTPS 代理 (squid) 或 SOCKS5 (dante) 代理都可以。
答案1
您选择的代理必须支持“反向 HTTP 代理”。请参阅:http://en.wikipedia.org/wiki/Reverse_proxy
答案2
您提到 squid 可以很好地工作。您没有直接启动 squid 有什么原因吗?它可能是配置起来最简单的代理解决方案。
答案3
答案4
代理服务器上没有 VirtualHost 的示例:
<Location /<stuff after domain name of proxy server>/>
ProxyPreserveHost On
ProxyPass http://<localIP>:<localPort>/
ProxyPassReverse http://<localIP>:<localPort>/
</Location>
代理服务器上虚拟主机的示例:
<VirtualHost *:80>
ServerName <subdomainname>.<example.com>
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyRequests On
ProxyPreserveHost On
ProxyPass / http://<localIP>:<localPort>/
ProxyPassReverse / http://<localIP>:<localPort>/
</VirtualHost>
编辑:两者都在 apache2 上工作