解決Nginx轉(zhuǎn)發(fā)圖片不能顯示的問題
背景:最近很多小伙伴使用Nginx代理iServer,將HTTP協(xié)議成HTTPS協(xié)議,但是可能會出現(xiàn)以下幾種情況:(1) 圖片、js、css等靜態(tài)資源無法加載

(2)代理后頁面跳轉(zhuǎn)回HTTP協(xié)議

(3)代理后訪問服務管理界面提示“該用戶無查詢服務訪問統(tǒng)計信息權限”

針對上述情況應該如何解決問題呢?其實這些問題都是因為代理后丟失https協(xié)議,導致請求變成http,下面我將詳細講解如何避免這個問題。本文采用的OpenSSL去生成公鑰和私鑰。生成密鑰的方式可以參考博客(Nginx代理iServer的HTTP協(xié)議成HTTPS)介紹得比較詳細,在此就不做多余的說明了。首先我們需要引入一個Nginx知識:sub_filter模塊為Nginx官方自帶的模塊,功能為替換掉返回給客戶端數(shù)據(jù)的指定內(nèi)容。需要使用該功能時只需要在編譯時添加對該模塊的支持,便會編譯到Nginx的內(nèi)核。本需介紹的方式就是利用sub_filter將HTTP替換成HTTPS。sub_filter語法包括:sub_filter_types:*; 需要替換的類型,如text/htnl text/plain application/ javascript等,以空格分隔,默認只查找文本型文件;sub_filter_once: on/off; 是否只替換一次,on是開啟此功能,off是關閉——默認值是on;sub_filter: xxx1 xxx2; 前面的參數(shù)為原始內(nèi)容,后面的參數(shù)為替換后的內(nèi)容。Nginx配置說明:
# 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é)果驗證:(1)圖片、js、css靜態(tài)資源正常加載

(2)代理后頁面跳轉(zhuǎn)回均為HTTPS協(xié)議

(3)代理后訪問服務管理界面正常

本文轉(zhuǎn)自
解決Nginx代理iServer的HTTP協(xié)議成HTTPS后頁面出現(xiàn)跳轉(zhuǎn)回HTTP協(xié)議的情況_nginx代理總是跳轉(zhuǎn)登錄頁面
https://blog.csdn.net/supermapsupport/article/details/127074609
到此這篇關于解決Nginx轉(zhuǎn)發(fā)圖片不能顯示的文章就介紹到這了,更多相關Nginx轉(zhuǎn)發(fā)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Nginx下修改WordPress固定鏈接導致無法訪問的問題解決
這篇文章主要介紹了Nginx下修改WordPress固定鏈接導致無法訪問的問題解決,同時作者也給出了官方關于修改固定鏈接的方法,需要的朋友可以參考下2015-07-07
nginx外網(wǎng)訪問內(nèi)網(wǎng)站點配置操作
這篇文章主要介紹了nginx外網(wǎng)訪問內(nèi)網(wǎng)站點配置操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08

