九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
在nginx中配置如何防止直接用ip訪問服務(wù)器web server及server

看了很多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錯(cuò)誤。

但是這樣好像又不太友好,如果能直接給跳轉(zhuǎn)到該web server的網(wǎng)址就好了。

配置如下:

 

server {listen 80 default_server;server_name _;rewrite ^ http://www.domain.com$request_uri?;}

 

這樣還是有一點(diǎn)問題,某些特別的地址,我需要用ip訪問,其他的都禁止,如何配置呢?

比如說我想讓監(jiān)控寶直接用ip訪問我的機(jī)器的nginx狀態(tài)信息,其他的用ip訪問的所有請求都跳轉(zhuǎn)到域名上。

 

server {listen 80 default_server;server_name _;        location /xxxxx{            stub_status on;            access_log  off;        }        location /{            rewrite ^ http://www.nginxs.com$request_uri?;        }}

這樣就實(shí)現(xiàn)了我們想要的功能了。

另外,在這里說一下server_name。

server_name 是可以使用正則表達(dá)式的,這個(gè)功能因該說相當(dāng)實(shí)用。

Nginx中的server_name指令主要用于配置基于名稱的虛擬主機(jī),server_name指令在接到請求后的匹配順序分別為:

1、準(zhǔn)確的server_name匹配,例如:

 

server {     listen       80;     server_name  domain.com  www.domain.com;     ...}

 

 

2、以*通配符開始的字符串:

server {     listen       80;     server_name  *.domain.com;
...}

3、以*通配符結(jié)束的字符串:

server {     listen       80;     server_name  www.*;     ...}

4、匹配正則表達(dá)式:

server {     listen       80;     server_name  ~^(?.+)\.domain\.com$;
...}
nginx將按照1,2,3,4的順序?qū)erver name進(jìn)行匹配,只有有一項(xiàng)匹配以后就會停止搜索,所以我們在使用這個(gè)指令的時(shí)候一定要分清楚它的匹配順序(類似于location指令)。
server_name指令一項(xiàng)很實(shí)用的功能便是可以在使用正則表達(dá)式的捕獲功能,這樣可以盡量精簡配置文件,畢竟太長的配置文件日常維護(hù)也很不方便。下面是2個(gè)具體的應(yīng)用:
1、在一個(gè)server塊中配置多個(gè)站點(diǎn):
server   {     listen       80;     server_name  ~^(www\.)?(.+)$;     index index.php index.html;     root  /data/wwwsite/$2;   }

站點(diǎn)的主目錄應(yīng)該類似于這樣的結(jié)構(gòu):

/data/wwwsite/domain.com/data/wwwsite/nginx.org/data/wwwsite/baidu.com/data/wwwsite/google.com 

 

這樣就可以只使用一個(gè)server塊來完成多個(gè)站點(diǎn)的配置。

2、在一個(gè)server塊中為一個(gè)站點(diǎn)配置多個(gè)二級域名。

實(shí)際網(wǎng)站目錄結(jié)構(gòu)中我們通常會為站點(diǎn)的二級域名獨(dú)立創(chuàng)建一個(gè)目錄,同樣我們可以使用正則的捕獲來實(shí)現(xiàn)在一個(gè)server塊中配置多個(gè)二級域名:

 

server   {     listen       80;     server_name  ~^(.+)?\.domain\.com$;
index index.html; if ($host = domain.com){
rewrite ^ http://www.domain.com permanent;
} root /data/wwwsite/domain.com/$1/;
}

站點(diǎn)的目錄結(jié)構(gòu)應(yīng)該如下:

/data/wwwsite/domain.com/www/
/data/wwwsite/domain
.com/nginx/

這樣訪問www.domain.com時(shí)root目錄為/data/wwwsite/domain.com/www/,nginx.domain.com時(shí)為/data/wwwsite/domain.com/nginx/,以此類推。

后面if語句的作用是將domain.com的方位重定向到www.domain.com,這樣既解決了網(wǎng)站的主目錄訪問,又可以增加seo中對www.domain.com的域名權(quán)重。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Nginx多Server反向代理配置
nginx 關(guān)閉默認(rèn)站點(diǎn)的方法
Nginx只允許域名訪問網(wǎng)站,禁止使用IP 訪問80,443端口
nginx多IP域名綁定
Nginx Primer翻譯.
nginx配置虛擬主機(jī)舉例
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服