如今越來越多的網(wǎng)站已經(jīng)開始安裝SSL證書,只要安裝ssl證書之后,可以保障網(wǎng)站的數(shù)據(jù)安全,關(guān)于ssl證書的內(nèi)容,之前已經(jīng)介紹過很多了,今天為大家講解的是Nginx 301永久重定向配置以及自動跳轉(zhuǎn)https配置方法。
一、Nginx 301 重定向跳轉(zhuǎn)不支持 GET 參數(shù)的問題描述
首先來看看子凡在 Nginx 配置文件中的一個 301 跳轉(zhuǎn)的配置,看上去這就是一個 Nginx 環(huán)境標(biāo)準(zhǔn)通用的 301 重定向配置,并沒有錯誤,也可以實(shí)現(xiàn)從 http 到 https 的 301 跳轉(zhuǎn),但是由于淚雪用戶中心的頭像調(diào)用有較大的開放性和適配度,所以可以直接通過動態(tài)的 GET 參數(shù)獲取頭像,例如:http://i.leiue.com/avatar.php?name=leixue,通過 HTTP 狀態(tài)查詢工具查詢結(jié)果如下圖:
301 跳狀態(tài)已經(jīng)成功,但是我們仔細(xì)看 Location 返回的值就是:https://i.leiue.com/avatar.php?name=leixue?name=leixue,已經(jīng)不僅僅是將 http 換成 https 了,而是后面的 GET 參數(shù)也被重復(fù)了一遍,所以也就導(dǎo)致了最后的 301 重定向跳轉(zhuǎn)失敗和錯誤了。
二、Nginx 301 重定向跳轉(zhuǎn)支持 GET 參數(shù)的配置方法
通過上述子凡的一些經(jīng)歷做過簡單的描述和驗(yàn)證后,只是初步的發(fā)現(xiàn)了問題,而接下來需要的就是解決這個問題,那么最簡單直接的還是直接上 Nginx 的配置代碼:
經(jīng)過簡單的修改后,就已經(jīng)完美解決問題,有點(diǎn)正則的感覺,所以如果大家在做 Nginx 的 301 跳轉(zhuǎn)的時候可以稍微的注意一下,或者你也在做 301 跳轉(zhuǎn)的時候遇到過一些錯誤,不妨試試這個方法。