【问题标题】:Allow only hosts in virtual hosts using mod_rewrite仅允许使用 mod_rewrite 的虚拟主机中的主机
【发布时间】:2020-09-01 13:10:18
【问题描述】:

我只需要允许在我的虚拟主机上配置的主机。

例如: 在我的 apache 中,我有以下配置:

<VirtualHost *:80>
    DocumentRoot /var/www/html
    ServerName mydomain.or
</VirtualHost>

<VirtualHost *:80>
    ServerName www.mydomain.com
    Redirect 301 / https://mydomain.or
</VirtualHost>

用户有自己的DNS服务器配置:www.dnsclient.or 用我的ip设置, 当他访问浏览器时,会显示不安全的连接消息,这就是我要阻止的内容,我需要只能访问配置的虚拟主机。

【问题讨论】:

  • 详细说明您的要求
  • 请详细说明您需要什么!我们需要详细信息来帮助您。
  • 完成了,我想就是这样。

标签: regex apache mod-rewrite server httpd.conf


【解决方案1】:

您可以在 VirtualHost 中使用 RewriteRule。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www.mydomain.com|mydomain.or)$ [NC]
RewriteRule .* - [F]

此规则仅允许 www.mydomain.com 和 mydomain.or。在基于名称的虚拟主机中,如果接收到的请求与指定的 ServerName 指令之一不匹配,它将由配置文件中定义的第一个作为默认值提供服务。

【讨论】:

  • 这是个好主意,但是如果我有超过 200 个域,每个域中都有许多 VirtualHost,那么很难配置到所有域。为此,我认为使用 VirtualHosts。
猜你喜欢
  • 2010-09-05
  • 2015-11-29
  • 2011-03-23
  • 2017-02-02
  • 2011-05-15
  • 2010-11-02
  • 2019-01-05
  • 2010-10-22
  • 2019-01-21
相关资源
最近更新 更多