天天看點

apache與nginx的預設虛拟主機的配置及作用

我們在使用lanmp環境搭建網站的時候,通常會有域名和ip,我們可以通過這兩個來進行通路,但是這裡

有個不安全的因素,就是不論我們的ip解析到那個域名,都可以通過那個域名來通路(比如

在/etc/hosts中進行定義:ip  域名),是以為了增加安全性以及使得網站的通路規範化,防止别人的

亂解析,我們可以在虛拟主機的配置檔案中增加預設虛拟主機的配置檔案,這樣可以禁止掉ip的通路,

避免ip位址随便的解析域名都可以通路該網站,下面來看看具體的實作方法:

一、apache

apache的虛拟主機配置檔案一般在一個檔案中(/usr/local/apache/conf/extra/httpd.conf),不論有

多少網站,内容都分為一個個子產品寫在一個配置檔案中,這時候第一個子產品的虛拟主機的配置檔案就是

預設的虛拟主機,我們可以在第一個虛拟主機配置檔案之前寫入如下内容,即把第一個虛拟主機的通路

給禁止:

<VirtualHost *:80>

  DocumentRoot "/tmp/tmp"

  ServerName 111.com

  <Directory /tmp/tmp>

    Order allow,deny

    Deny from all

  </Directory>

這樣我們就把指向我們網站的随意解析的域名以及ip的通路給禁止了,隻要解析到這台機器的域名,不

管是什麼域名,隻要在配置檔案中沒有配置,都會通路到這個預設的虛拟主機上來,進而被禁止。

當然,我們也可以不寫<Directory>中的内容,隻要我們建立的目錄沒有讀寫的權限,一樣可以禁止。

二、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;

}

本文轉自奇迹的少年部落格51CTO部落格,原文連結http://blog.51cto.com/raffaelexr/1731062如需轉載請自行聯系原作者

liliangchun

繼續閱讀