apache設置僅允許域名訪問

爲什麼這樣做?

防止惡意解析

一般情況下,要使域名能訪問到網站需要兩步:

第一步:將域名解析到網站所在的主機ip;

第二步:在web服務器中將域名與相應的網站綁定。

但是,如果通過主機IP能直接訪問某網站,那麼隨便一個域名解析到這個IP也將能訪問到該網站,而無需在主機上綁定,也就是說任何人將任何域名解析到這個IP就能訪問到這個網站。

可能你並不介意通過別人的域名訪問到您的網站,但是如果這個域名是未備案域名呢?一旦被查出,封IP、拔線甚至罰款的後果都是需要您來承擔的。某些別有用心的人,通過將未備案域名解析到別人的主機上,使其遭受損失,這便是 惡意解析

保證資源文件的鏈接正常

直接使用ip訪問可能會使某些資源文件找不到,另外,可能還會有其他奇怪問題。


修改 htppd.conf 配置

找到apache的配置文件,httpd.conf,可能有多個,哪一個都可以,這是因爲有一個主配置文件,一個副的,而在主配置文件裏面又 Include 副配置文件。

添加如下配置:

<VirtualHost *:80>
	ServerName 123.456.789.100
	DocumentRoot "/opt/lampp/htdocs/error"
    <Directory "/opt/lampp/htdocs/error">
		Require all denied
	</Directory>
</VirtualHost>

<VirtualHost *:80>
	ServerName www.example.com
	DocumentRoot "/opt/lampp/htdocs/mywebsite"
    <Directory "/opt/lampp/htdocs/mywebsite">
		Require all granted
	</Directory>
</VirtualHost>
  • 123.456.789.100替換成服務器ip

  • /opt/lampp/htdocs/error是一個空目錄,error是隨便建的空目錄。

  • www.example.com設置爲允許訪問的域名

  • /opt/lampp/htdocs/mywebsite是網站根目錄

  • 注意:把需要禁止的<VirtualHost>寫在前面。

  • 這樣使用ip訪問時,會出現403錯誤沒有權限,請聯繫網站管理員等等

  • 使用指定域名訪問時則正常。

發佈了14 篇原創文章 · 獲贊 23 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章