Nginx防止直接用IP訪問Web服務器設置方法
看了很多Nginx的配置,好像都忽略了ip直接訪問Web的問題,這樣理論上不利于SEO優(yōu)化,所以我們希望可以避免直接用IP訪問網(wǎng)站,而是域名訪問,具體怎么做呢,看下面。
官方文檔中提供的方法:
If you do not want to process requests with undefined "Host" header lines, you may define a default server that just drops the requests:
server {
listen 80 default_server;
server_name _;
return 444;
}
說白了就是只要是訪客用ip訪問就直接重置444錯誤。但是這樣好像又不太友好,如果能直接給跳轉到該web server的網(wǎng)址就好了。配置如下:
server {
listen 80 default_server;
server_name _;
rewrite ^ http://www.domain.com$request_uri?;
}
這樣還是有一點問題,某些特別的地址,我需要用ip訪問,其他的都禁止,如何配置呢?比如說我想讓監(jiān)控寶直接用ip訪問我的機器的nginx狀態(tài)信息,其他的用ip訪問的所有請求都跳轉到域名上。
server {
listen 80 default_server;
server_name _;
location /xxxxx{
stub_status on;
access_log off;
}
location /{
rewrite ^ http://www.domain.com$request_uri?;
}
}
這樣就實現(xiàn)了我們想要的功能了。
關鍵詞:Nginx,Web服務器
閱讀本文后您有什么感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0