我有一个带2个IP地址的VPS(CentOS 7)。
我使用绑定托pipe我自己的DNS服务器。 运行Apache。 其中我有“A”的logging
ns1.example.com -> XXXX ns2.example.com -> YYYY mail.example.com -> XXXX server.example.com -> XXXX (Fully Qualified Hostname)
如果我在浏览器中键入mail.example.com,则会显示位于example.com的网站。
如何在不影响DNS设置的情况下使mail.example.com无法从浏览器访问?
同样如何阻止访问ns1.example.com,ns2.example.com和server.example.com?
从apache2configuration中删除通配符定义和/或将其设置为只响应指向example.com和www.example.com的请求
这不是一个DNS问题,这是一个Apache2的configuration问题
你应该有这样的描述设置:
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-centos-7
但用与example.com对应的VPS IPreplace“*:80”参数
<VirtualHost PUT_YOUR_VPS_IP_HERE> ServerName www.example.com ServerAlias example.com </VirtualHost>
还有一些其他的例子: https : //httpd.apache.org/docs/2.2/vhosts/examples.html
您可以使用Alias *来捕获虚拟主机允许的任何其他stream量,因此您必须在最后一个位置使用以*作为别名的虚拟主机。
就像只有定义的域将被服务。
<VirtualHost *:80> ServerName example.com ServerAlias server.example.com DocumentRoot /var/www/default ... </VirtualHost> # /!\ THIS HAS TO BE ON THE LAST POSITION /!\ <VirtualHost *:80 *:443> # [ Server Domain ] ServerName localhost ServerAlias * # [ Cancel trafic ] RewriteRule .* - [END,R=406] # [ Custom Log ] CustomLog ${APACHE_LOG_DIR}/other.log combined </VirtualHost>
在我的例子中,只有example.com&www.example.com将被允许,所有其他域名或IP将被取消。
要取消交通,你可以使用redirect到-然后添加一个错误代码,例如我用一个RewriteRuleredirect到406不可接受 ( R=406 )。
您可以在这里findredirect代码列表: https : //fr.wikipedia.org/wiki/Liste_des_codes_HTTP