我們在使用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