阻止浏览器通过服务器 ip 访问 apache 站点

阻止浏览器通过服务器 ip 访问 apache 站点

我正在尝试设置一个 apache 网络服务器来为多个网站提供服务,并且我希望能够通过服务器本身的 ip 地址来阻止访问。

即如果有人输入http://84.320.65.4/site-name,则会提供相关站点。但是我只希望他们能够通过 sites-enabled 配置中指定的域访问该站点。

我该在哪里、如何进行配置,或者这是一个坏主意?

答案1

http://httpd.apache.org/docs/2.2/vhosts/examples.html

请看以下示例:“在单个 IP 地址上运行多个基于名称的网站”

这应该会阻止您使用 IP 访问网站。您应该这样做吗?由您决定。缺点是必须正确配置 DNS,并且进行内部测试会更加棘手,但这绝不是阻碍因素。只要网站的代码是用关系超链接完成的,您就不会遇到很多问题。

答案2

你应该看看 Apache 虚拟主机文档,尤其是服务器名称指示。

这里有一个示例配置满足您的需要:

<VirtualHost *:80>
    ServerName 84.320.65.4

    DocumentRoot /var/www/website/

    <Directory /var/www/website/>
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

编辑:使用上述配置,该/var/www/目录将无法浏览。

您的网站将可通过 URLhttp://84.320.65.4/foohttp://84.320.65.4/bar(分别对应于/var/www/website/foo/var/www/website/bar)访问。

你可以放一个基本的 HTML 页面/var/www/website/来警告直接访问的用户http://84.320.65.4

相关内容