淑昊柠 发表于 2018-11-20 11:27:07

apache与nginx的默认虚拟主机的配置及作用

  我们在使用lanmp环境搭建网站的时候,通常会有域名和ip,我们可以通过这两个来进行访问,但是这里
  有个不安全的因素,就是不论我们的ip解析到那个域名,都可以通过那个域名来访问(比如
  在/etc/hosts中进行定义:ip域名),因此为了增加安全性以及使得网站的访问规范化,防止别人的
  乱解析,我们可以在虚拟主机的配置文件中增加默认虚拟主机的配置文件,这样可以禁止掉ip的访问,
  避免ip地址随便的解析域名都可以访问该网站,下面来看看具体的实现方法:
  

  一、apache
  

  apache的虚拟主机配置文件一般在一个文件中(/usr/local/apache/conf/extra/httpd.conf),不论有
  多少网站,内容都分为一个个模块写在一个配置文件中,这时候第一个模块的虚拟主机的配置文件就是
  默认的虚拟主机,我们可以在第一个虚拟主机配置文件之前写入如下内容,即把第一个虚拟主机的访问
  给禁止:
  

  
  DocumentRoot "/tmp/tmp"
  ServerName 111.com
  
  Order allow,deny
  Deny from all
  
  
  

  这样我们就把指向我们网站的随意解析的域名以及ip的访问给禁止了,只要解析到这台机器的域名,不
  管是什么域名,只要在配置文件中没有配置,都会访问到这个默认的虚拟主机上来,从而被禁止。
  

  当然,我们也可以不写中的内容,只要我们创建的目录没有读写的权限,一样可以禁止。
  

  

  二、nginx
  

  nginx的虚拟主机配置文件我们一般都是分开的,放在一个目录中,基本上一个虚拟主机一个配置文件,
  这时候,我们就需要定义一个default.conf,这个文件和上面的apache中的第一个虚拟主机配置文件作
  用基本相同,都是防止其他人的胡乱解析,不论用什么域名来进行访问这台机器,只要其它的配置文件
  (*.conf)中没有配置,都会访问到这个主机上,然后被禁止,使用ip来访问也同样会被禁止掉,显示
  403,笔者之前由于使用云主机来进行实验,直接使用ip访问,一直显示403,就是这个原因。
  

  内容如下:
  

  server
  {
  listen 80 defult_server;
  servername localhost;
  index index.htm index.html index.php;
  root /tmp/tmp;
  deny all;
  }



页: [1]
查看完整版本: apache与nginx的默认虚拟主机的配置及作用