解決Nginx轉(zhuǎn)發(fā)圖片不能顯示的問(wèn)題
背景:最近很多小伙伴使用Nginx代理iServer,將HTTP協(xié)議成HTTPS協(xié)議,但是可能會(huì)出現(xiàn)以下幾種情況:(1) 圖片、js、css等靜態(tài)資源無(wú)法加載
(2)代理后頁(yè)面跳轉(zhuǎn)回HTTP協(xié)議
(3)代理后訪問(wèn)服務(wù)管理界面提示“該用戶無(wú)查詢服務(wù)訪問(wèn)統(tǒng)計(jì)信息權(quán)限”
針對(duì)上述情況應(yīng)該如何解決問(wèn)題呢?其實(shí)這些問(wèn)題都是因?yàn)榇砗髞G失https協(xié)議,導(dǎo)致請(qǐng)求變成http,下面我將詳細(xì)講解如何避免這個(gè)問(wèn)題。本文采用的OpenSSL去生成公鑰和私鑰。生成密鑰的方式可以參考博客(Nginx代理iServer的HTTP協(xié)議成HTTPS)介紹得比較詳細(xì),在此就不做多余的說(shuō)明了。首先我們需要引入一個(gè)Nginx知識(shí):sub_filter模塊為Nginx官方自帶的模塊,功能為替換掉返回給客戶端數(shù)據(jù)的指定內(nèi)容。需要使用該功能時(shí)只需要在編譯時(shí)添加對(duì)該模塊的支持,便會(huì)編譯到Nginx的內(nèi)核。本需介紹的方式就是利用sub_filter將HTTP替換成HTTPS。sub_filter語(yǔ)法包括:sub_filter_types:*; 需要替換的類(lèi)型,如text/htnl text/plain application/ javascript等,以空格分隔,默認(rèn)只查找文本型文件;sub_filter_once: on/off; 是否只替換一次,on是開(kāi)啟此功能,off是關(guān)閉——默認(rèn)值是on;sub_filter: xxx1 xxx2; 前面的參數(shù)為原始內(nèi)容,后面的參數(shù)為替換后的內(nèi)容。Nginx配置說(shuō)明:
# https配置 server { listen 8000 ssl; server_name ip; ssl_certificate nginxRSAcert.pem; ssl_certificate_key nginxRSAcert.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://ip:8090; proxy_set_body $request_body; proxy_set_header Accept-Encoding ""; proxy_set_header Host $host:8000; sub_filter_once off; sub_filter_types *; sub_filter 'http://ip:8000/iserver' 'https://ip:8000/iserver'; } }
結(jié)果驗(yàn)證:(1)圖片、js、css靜態(tài)資源正常加載
(2)代理后頁(yè)面跳轉(zhuǎn)回均為HTTPS協(xié)議
(3)代理后訪問(wèn)服務(wù)管理界面正常
本文轉(zhuǎn)自
解決Nginx代理iServer的HTTP協(xié)議成HTTPS后頁(yè)面出現(xiàn)跳轉(zhuǎn)回HTTP協(xié)議的情況_nginx代理總是跳轉(zhuǎn)登錄頁(yè)面
https://blog.csdn.net/supermapsupport/article/details/127074609
到此這篇關(guān)于解決Nginx轉(zhuǎn)發(fā)圖片不能顯示的文章就介紹到這了,更多相關(guān)Nginx轉(zhuǎn)發(fā)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Nginx的配置函數(shù)對(duì)于請(qǐng)求體的讀取
這篇文章主要介紹了Nginx的配置函數(shù)對(duì)于請(qǐng)求體的讀取,深入Nginx的內(nèi)核配置中進(jìn)行講解,需要的朋友可以參考下2015-12-12Nginx/Openresty中啟用http2支持的方法教程
Openresty/Nginx默認(rèn)是不支持http2的,需要將http2模塊編譯進(jìn)應(yīng)用中。這篇文章主要給大家介紹了關(guān)于在Nginx/Openresty中啟用http2支持的方法教程,文中介紹的非常詳細(xì),對(duì)大家具有一的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-07-07Nginx配合Apache或Tomcat的動(dòng)靜分離基本配置實(shí)例
這篇文章主要介紹了Nginx配合Apache或Tomcat的動(dòng)靜分離基本配置實(shí)例,實(shí)際上Nginx專(zhuān)門(mén)負(fù)責(zé)靜態(tài)和反向代理是主流服務(wù)器配置方案,需要的朋友可以參考下2016-01-01在Nginx服務(wù)器上安裝SSL證書(shū)完成HTTPS請(qǐng)求的步驟詳解(springboot項(xiàng)目)
這篇文章主要介紹了在Nginx服務(wù)器上安裝SSL證書(shū)完成HTTPS請(qǐng)求(springboot項(xiàng)目),首先需要下載證書(shū)到本地接著在Nginx獨(dú)立服務(wù)器上安裝證書(shū),本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-04-04