Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache2:如何避免一个网站默认回复?_Apache2 - Fatal编程技术网

Apache2:如何避免一个网站默认回复?

Apache2:如何避免一个网站默认回复?,apache2,Apache2,我有一个服务器apache2和一些网站 其中一个服务于http和https 所有其他的都是http上的服务器 我是从一位受雇于我的公司的前员工那里继承了这种坏情况,不要怪我 如果我尝试通过https访问另一个网站,我认为apach2是第一个(也是唯一一个)通过https访问的服务器,即使它有不同的域 如果我访问,apache2知道blablbalca.com不是通过https提供的,但它没有给我404,它提供服务 什么指令告诉apache在缺少定义的情况下自动为“第一个”服务 如何修复 编辑:我

我有一个服务器apache2和一些网站

其中一个服务于http和https 所有其他的都是http上的服务器

我是从一位受雇于我的公司的前员工那里继承了这种坏情况,不要怪我

如果我尝试通过https访问另一个网站,我认为apach2是第一个(也是唯一一个)通过https访问的服务器,即使它有不同的域

如果我访问,apache2知道blablbalca.com不是通过https提供的,但它没有给我404,它提供服务

什么指令告诉apache在缺少定义的情况下自动为“第一个”服务

如何修复

编辑:我找到了一种更优雅、更概括的方式来表达我的问题:

如果指向同一ip的域不是由我的服务器提供服务,我如何避免apache2为随机虚拟主机提供服务


您可以为最佳虚拟主机命名,并将
ServerName
ServerAlias
设置为与每个网站匹配。此外,如果您希望“blablbalca.com”在通过HTTPs访问时返回错误,则必须在
your_site.conf
中设置虚拟主机来处理来自HTTPs端口的流量。例如执行重定向或显示错误页面

The default configuration file that deals with the incoming connection from a domain name that is not on the server or without domain name at all (direct IP connection):

For port 80:

<VirtualHost *:80>

        ProxyPass "/" "http://your/path/here"
        ProxyPassReverse "/" "http://your/path/here"

</VirtualHost>

For port 443 (SSL):

<VirtualHost *:443>

        ProxyPass "/" "http://your/path/here"
        ProxyPassReverse "/" "http://your/path/here"

</VirtualHost>

The website with a domain:

<VirtualHost *:80>

        ServerName yoursite.com
        ServerAlias www.yoursite.com
        ServerAdmin none@webhost.com
        DocumentRoot /var/www/yourWebsite

</VirtualHost>

处理来自不在服务器上或根本没有域名的域名的传入连接的默认配置文件(直接IP连接):
对于端口80:
代理过程“/”http://your/path/here"
ProxyPassReverse“/”http://your/path/here"
对于端口443(SSL):
代理过程“/”http://your/path/here"
ProxyPassReverse“/”http://your/path/here"
包含域的网站:
ServerName yoursite.com
ServerAlias www.yoursite.com
服务器管理员none@webhost.com
DocumentRoot/var/www/yourWebsite

我删除了很多指令,只保留了我们在本例中关注的指令。

感谢您的解决方案。但我的问题是,如果指向我的Web服务器的域不是我的Web服务器的真正服务器,如何避免访问“随机”网站。如果该域不是真的位于您的Web服务器上,则流量将永远不会到达。这是一种实际情况:一个域(旧的、被遗忘的)指向我的服务器,而我的服务器不再为该网站提供服务。问题不在于通信量,但我不希望提供随机的virtualhost服务器。请使用默认配置中基于端口的方式处理它。如果没有匹配的域,则它将返回到基于端口的虚拟主机,您可以在那里处理它。否则就没有别的办法了。