天天看點

nginx禁止ip通路, 隻能通過域名通路

nginx配置防止域名惡意解析

為什麼要禁止ip通路頁面呢?

這樣做是為了避免其他人把未備案的域名解析到自己的伺服器IP,而導緻伺服器被斷網,我們可以通過禁止使用ip通路的方法,防止此類事情的發生。

歸結到技術層面,原因是如果網站允許ip直接通路,那麼即使沒有在nginx配置中解析惡意的未備案域名,這個域名也是可以通路到你的網站。

相關部門進行核查時,會以為你為未備案域名提供主機服務,後果就是封掉的ip。是以,你需要禁止ip通路,隻允許你自己配置的server子產品的server_name通路。這樣即使未備案域名綁定了你的ip,也通路不了你的網站。

  1. 首先,編輯nginx的配置檔案nginx.conf,增加server子產品,第一句 listen 80 default 就禁掉了ip通路,第二句标示如果通過ip通路或者nginx未解析的域名通路 則傳回500錯誤。
server {
		listen 80 default;
		return 500;
	}           

複制

  1. 如果把ip通路和未解析域名通路轉到你自己的域名,進而帶來一些額外流量,則如下配置:
server {
		listen 80 default;
		rewrite ^(.*) http://www.yunxr.top/ permanent;
	}           

複制

這時當通路ip時就會定位到指定的域名。