当前位置: 首页 > 编程笔记 >

配置 Apache 服务器禁止所有非法域名 访问自己的服务器

孔波
2023-03-14
本文向大家介绍配置 Apache 服务器禁止所有非法域名 访问自己的服务器,包括了配置 Apache 服务器禁止所有非法域名 访问自己的服务器的使用技巧和注意事项,需要的朋友参考一下

1、http2.4.1以前:

  第一种 直接拒绝访问

打开 httpd.conf  文件,将一下配置追加到文件最后。

<pre name="code" class="html"><pre name="code" class="html"><pre name="code" class="html">#直接拒绝所有非法域名
<VirtualHost *:80>
  ServerName *
  ServerAlias *
  <Location />
    Order Allow,Deny
    Deny from all
  </Location>
  ErrorLog "/alidata/log/httpd/error.log"
  CustomLog "/alidata/log/httpd/info.log" common
</VirtualHost>
</pre><pre name="code" class="html"><pre name="code" class="html">#允许的域名
<VirtualHost *:80>
  DocumentRoot /alidata/www
  ServerName www.你的域名
  ServerAlias www.你的域名
  <Directory "/alidata/www">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order allow,deny
    Allow from all
  </Directory>
  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)-htm-(.*)$ .php?
    RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?
  </IfModule>
  ErrorLog "/alidata/log/httpd/error.log"
  CustomLog "/alidata/log/httpd/info.log" common
</VirtualHost>

重启apache服务:service httpd restart

第二种 跳转到指定目录或文件

打开 httpd.conf  文件,将一下配置追加到文件最后。

#所有非法域名跳转到指定目录或文件
<pre name="code" class="html"><pre name="code" class="html"><VirtualHost *:80>
#指定目录或文件
  DocumentRoot "/yun/www"
  ServerName *
  ServerAlias *
</VirtualHost>
</pre><pre name="code" class="html"><pre name="code" class="html">#允许的域名
<VirtualHost *:80>
  DocumentRoot /alidata/www/fdt
  ServerName www.fdt-art.com
  ServerAlias www.fdt-art.com
  <Directory "/alidata/www/fdt">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order allow,deny
    Allow from all
  </Directory>
  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)-htm-(.*)$ .php?
    RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?
  </IfModule>
#错误日志
  ErrorLog "/alidata/log/httpd/error.log"
  CustomLog "/alidata/log/httpd/info.log" common
</VirtualHost>

重启apache服务:service httpd restart

2、http2.4.1 以后:

http2.4.1 以后不再需要NameVirtualHost以及不再支持ServerName * 这种写法。

使用ServerName * 会报Invalid ServerName “*” use ServerAlias to set multiple server names.

第一种:直接拒绝

打开 httpd.conf  在文件末尾加上一下代码:

<pre name="code" class="html"><pre name="code" class="html">#禁止所有非法域名
<VirtualHost *:80>
  ServerName 服务器ip
  ServerAlias *
  <Location />
    Order Allow,Deny
    Deny from all
  </Location>
</VirtualHost>
<pre name="code" class="html">#允许访问的域名
<VirtualHost *:80>
  DocumentRoot /alidata/www
  ServerName www.你的域名
  ServerAlias www.你的域名
  <Directory "/alidata/www">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order allow,deny
    Allow from all
  </Directory>
  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)-htm-(.*)$ .php?
    RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?
  </IfModule>
#错误日志保存位置
  ErrorLog "/alidata/log/httpd/error.log"
  CustomLog "/alidata/log/httpd/info.log" common
</VirtualHost>

重启apache服务:service httpd restart

第二种:跳转到指定目录或文件

打开 httpd.conf  在文件末尾加上一下代码

<pre name="code" class="html"><pre name="code" class="html">#禁止所有非法域名
<VirtualHost *:80>
  DocumentRoot "/alidata/www"
  ServerName 服务器ip
  ServerAlias *
  <Location /alidata/www>
    Order Allow,Deny
    Allow from all
  </Location>
</VirtualHost>
</pre>
<pre name="code" class="html">#允许访问的域名
<VirtualHost *:80>
  DocumentRoot /alidata/www/fdt
  ServerName www.fdt-art.com
  ServerAlias www.fdt-art.com
  <Directory "/alidata/www/fdt">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order allow,deny
    Allow from all
  </Directory>
  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)-htm-(.*)$ .php?
    RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?
  </IfModule>
#错误日志保存位置
  ErrorLog "/alidata/log/httpd/error.log"
  CustomLog "/alidata/log/httpd/info.log" common
</VirtualHost>

重启apache服务:service httpd restart

以上所述是小编给大家介绍的配置 Apache 服务器禁止所有非法域名 访问自己的服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍跨域请求 Apache 服务器配置的方法,包括了跨域请求 Apache 服务器配置的方法的使用技巧和注意事项,需要的朋友参考一下 1.修改服务器配置文件 2.编辑httpd.conf 找下面这行,把#去掉,目的是开启apache头信息自定义模块 重点内容 意思是对这个域名的资源进行访问时,添加一个头信息 最后重启服务器生效 以上所述是小编给大家介绍的跨域请求 Apache 服务器配置

  • Config Config=new ConfigBuilder().withMasterURL(“https://c2.eu-de.containers.cloud.ibm.com:78945”).build();try(KubernetesClient client=new DefaultKubernetesClient(config)){ 我得到了io.fabric8.kubernetes.c

  • 问题内容: 我正在使用Ubuntu 10.04。 我下创建一个Django项目/命名 并创建一个WSGI文件在同一目录 下面是内容: 这是我添加到我的httpd.conf中的内容: 问题是,当我访问http:// localhost时,它说 问题答案: 第二个目录块与你安装WSGI脚本文件的位置不匹配。尽管将WSGI脚本文件粘贴在存在源代码或其他敏感文件的位置(即同一目录或子目录)是非常不好的做法

  • 问题内容: 我正在使用Ubuntu 10.04。 我下创建一个Django项目命名 并创建一个WSGI文件在同一目录 下面是内容: 这是我添加到我的httpd.conf中的内容: 问题是,当我访问http:// localhost时,它说 禁止的 您无权访问此服务器上的/。 非常感谢。 问题答案: 第二个目录块与您安装WSGI脚本文件的位置不匹配。尽管将WSGI脚本文件粘贴在存在源代码或其他敏感文

  • 本文向大家介绍一台nginx服务器多域名配置的方法,包括了一台nginx服务器多域名配置的方法的使用技巧和注意事项,需要的朋友参考一下 Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了。 下面我就来说说server_name的使用吧: server_name的匹配顺序 Nginx中的server_na

  • 问题内容: 嗨,我已经在我的centos机器上安装了phpmyadmin,当我尝试通过浏览器访问时,出现此错误: 我的文件包含以下内容: 请帮助我解决此问题。任何线索表示赞赏。 谢谢 问题答案: 您需要执行以下步骤: 查找以下内容的行 替换为您的工作站IP地址: 再次找到以下行: 替换为: 还要在整个文件中找到并注释它。 保存并关闭文件。: 编辑:由于这是选定的答案,并获得最佳可见性…请还请 确保