我有一个面向‘ve的服务器,我已经把它分割成了来宾,其中之一就是使用一些非常基本的虚拟主机配置来运行apache。我已经重定向了,但是我的虚拟主机配置需要最初的目的地来计算请求应该击中的页面集,所以我只看到默认的服务器页面。
目前,我的iptable规则如下所示:
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.10.10.2:80有什么指示吗?
问题是,到此框的任何http(s)流量都被路由到默认的页面集,而不适合最初请求的域。
虚拟主机配置的适当部分:
#
# The document root + CGI-directories.
#
VirtualDocumentRoot /srv/%0/public/htdocs/
VirtualScriptAlias /srv/%0/public/cgi-bin/(是的,这些路径确实存在--我已经从我要替换的apache框中拔出/srv/ over,并保留了所有者/权限/等等!)
发布于 2013-10-03 20:51:41
对于虚拟主机,Apache不使用服务器的ip地址(除非使用基于ip的虚拟主机,我猜您不是)来确定要呈现哪个网站,因此检查IPtables规则不会产生任何结果。相反,Apache检查http请求中的主机字段,并使用该字段来决定呈现哪个虚拟主机。您的Apache配置可能在这里出错,而不是IPtables。
编辑您的问题以包括虚拟主机配置块。
https://serverfault.com/questions/543606
复制相似问题