怎么在Nginx 重定向時(shí)獲取域名

發(fā)布時(shí)間:2024-04-19
服務(wù)器
怎么在nginx 重定向時(shí)獲取域名?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
http 請(qǐng)求跳轉(zhuǎn)到同名的 https 請(qǐng)求,配置如下:
http{server{listen80;server_namesub1.example.comsub2.example.com;return301https://$server_name$request_uri;}server{listen443sslspdy;server_namesub1.example.comsub2.example.com;#…}}
因?yàn)?301 是永久重定向,某些瀏覽器的緩存會(huì)記住重定向,下次訪問原地址就會(huì)直接向新地址發(fā)請(qǐng)求,所以這個(gè)問題在瀏覽器里面不一定重現(xiàn)得了(包括 chrome 的 incognito window),能每次完整重現(xiàn)的方式只有 curl 。
$curl-ihttp://sub2.example.com/http/1.1301movedpermanentlyserver:nginx/1.9.3(ubuntu)date:tue,23feb201606:06:30gmtcontent-type:text/htmlcontent-length:193connection:keep-alivelocation:https://sub1.example.com/
查了一下,發(fā)現(xiàn)問題出在$server_name變量上。這個(gè)變量會(huì)始終返回 server_name 中第一個(gè)名字。這里其實(shí)應(yīng)該用$host變量。修改后的配置如下:
http{server{listen80;server_namesub1.example.comsub2.example.com;return301https://$host$request_uri;}}
$host變量會(huì)按照以下優(yōu)先級(jí)獲取域名:
request-line 中的域名信息。request-line 包含 method, uri 和 http 版本。
請(qǐng)求頭信息中的 \”host\” 。
nginx 中匹配的 server_name 配置。
看完上述內(nèi)容,你們掌握怎么在nginx 重定向時(shí)獲取域名的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注西部數(shù)碼資訊頻道,感謝各位的閱讀!
上一個(gè):win10怎樣設(shè)置虛擬內(nèi)存才合理(windows10如何設(shè)置虛擬內(nèi)存)
下一個(gè):檢測(cè)實(shí)驗(yàn)室實(shí)驗(yàn)記錄和報(bào)告應(yīng)該注意什么

如何大幅提高測(cè)序組裝和分析的成本效益
濕膜加濕機(jī)優(yōu)點(diǎn)妙不可言!多種領(lǐng)域隨處可見
Elektror離心式通風(fēng)機(jī)SD 72 101271-0000很景氣
土地征收補(bǔ)償費(fèi)用一覽表
唐菖蒲鐮孢基腐病的防治
德國(guó)HYDAC液壓缸故障診斷及處理方法
接口皮子熱收縮帶型號(hào)定制
普洱茶陪我們走過春夏秋冬
一款由豆?jié){機(jī)改造的均質(zhì)乳化反應(yīng)器
手動(dòng)試壓泵的安全操縱規(guī)程
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos