国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

tengine/nginx https請(qǐng)求 轉(zhuǎn)發(fā) http upstream

這篇具有很好參考價(jià)值的文章主要介紹了tengine/nginx https請(qǐng)求 轉(zhuǎn)發(fā) http upstream。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

為什么要將https轉(zhuǎn)發(fā)為http

當(dāng)前的互聯(lián)網(wǎng)應(yīng)用基本都要支持https協(xié)議,而當(dāng)瀏覽器頭通過(guò)https協(xié)議將請(qǐng)求發(fā)到到負(fù)責(zé)負(fù)載的nginx后,會(huì)由當(dāng)前nginx再以http協(xié)議向后端upstream進(jìn)行請(qǐng)求,之所以這么做是因?yàn)閔ttps協(xié)議的安全性也帶來(lái)的額外的性能消耗。而源端基本都是在一個(gè)內(nèi)網(wǎng)里面的,對(duì)于通訊協(xié)議的安全性要求沒(méi)那么高,采用http協(xié)議通訊性能會(huì)更優(yōu),也能降低證書的部署成本。

因此在實(shí)際應(yīng)用中的部署架構(gòu)如下方所示

瀏覽器 ---- https (http2) —> nginx (負(fù)載均衡) ---- http1.1—> nginx/tomcat/node (upstream 源端)

如何配置

假設(shè)我當(dāng)前的域名為 aaa.com
并且已經(jīng)有了aaa.com的ssl證書(自簽或購(gòu)買),本文重點(diǎn)不在于如何生成證書,具體就不寫了。

證書會(huì)包含2個(gè)文件:
aaa_com.key , aaa_com.crt

建議將這2個(gè)文件cpoy到 nginx的安裝目錄(默認(rèn)為:/usr/local/nginx)的ssl目錄中(需要自行創(chuàng)建)

然后創(chuàng)建aaa.com的虛擬主機(jī)配置文件aaa.conf,示例如下

server {
        listen 80;
        server_name www.aaa.com aaa.com;
	    access_log /data/log/nginx/aaa_access.log  main;
        error_log  /data/log/nginx/aaa_error.log;
	        
        #核心代碼
        rewrite ^(.*)$ https://${server_name}$1 permanent;
}

#配置源端
upstream aaa-upstream {
            #源端的ip與端口
            server x.x.x.x:port weight=5 max_fails=3 fail_timeout=30s;
    }



server {
        server_name  www.aaa.com aaa.com;
        
	    #https相關(guān)配置,開啟http2.0
	    #啟用https需要安裝openssl,同時(shí)在安裝nginx的時(shí)候添加 --with-http_ssl_module --with-http_v2_module
	    listen 443 ssl http2;

        #指定證書位置
        ssl_certificate /usr/local/nginx/ssl/aaa_com.crt;
        ssl_certificate_key /usr/local/nginx/ssl/aaa_com.key;
		
        ssl_session_cache shared:SSL:10m;  
	#1m大約可以存儲(chǔ)4000個(gè)TLS握手,當(dāng)某個(gè)https連接在規(guī)定時(shí)間重連時(shí),可以通過(guò)session_cahce重用TLS秘鑰,也就是client只要發(fā)起一次http請(qǐng)求就可以再次進(jìn)行連接。
	#根據(jù)TLS通訊過(guò)程,如果你的https開啟了session_cache,在第二步,server獲取到client請(qǐng)求就會(huì)去讀取session_cache文件,如果存在client的key就直接復(fù)用,進(jìn)行數(shù)據(jù)傳輸。
        #設(shè)置存儲(chǔ)會(huì)話參數(shù)的高速緩存的類型和大小。緩存可以是以下任何一種類型:
        # off 嚴(yán)禁使用會(huì)話緩存:nginx明確告訴客戶端會(huì)話可能不會(huì)被重用。
        # none 會(huì)話緩存的使用被輕輕地禁止:nginx告訴客戶端會(huì)話可能被重用,但實(shí)際上不會(huì)將會(huì)話參數(shù)存儲(chǔ)在緩存中。
        # builtin 建立在OpenSSL中的緩存; 僅由一個(gè)工作進(jìn)程使用。緩存大小在會(huì)話中指定。如果沒(méi)有給出大小,則等于20480個(gè)會(huì)話。內(nèi)置緩存的使用可能導(dǎo)致內(nèi)存碎片。
        # shared 所有工作進(jìn)程之間共享的緩存。緩存大小以字節(jié)為單位指定; 一兆字節(jié)可以存儲(chǔ)大約4000個(gè)會(huì)話。每個(gè)共享緩存都應(yīng)該有一個(gè)任意的名字。具有相同名稱的緩存可以在多個(gè)虛擬服務(wù)器中使用。
        # 兩種緩存類型都可以同時(shí)使用,例如:ssl_session_cache builtin:1000 shared:SSL:10m;
        #注意:但只使用沒(méi)有內(nèi)置緩存的共享緩存應(yīng)該更有效率。
                            
        #ssi on;    #服務(wù)器嵌套,主要是實(shí)現(xiàn)網(wǎng)站的內(nèi)容更新,時(shí)間和日期的動(dòng)態(tài)顯示,以及執(zhí)行shell和CGI腳本程序等復(fù)雜的功能。
	    ssl_session_timeout 10m;

        access_log /data/log/nginx/aaa_access.log  main;
        error_log  /data/log/nginx/aaa_error.log;
		


        location / {
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP  $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               
		        proxy_http_version 1.1; #這行很關(guān)鍵,沒(méi)有的話可能導(dǎo)致https訪問(wèn)報(bào)bad request 400
                proxy_set_header Upgrade $http_upgrade; # 做websocket應(yīng)用,需要實(shí)時(shí)感知客戶端頭信息變化的場(chǎng)景需要加
                proxy_set_header Connection "upgrade";  # 做websocket應(yīng)用,需要實(shí)時(shí)感知客戶端頭信息變化的場(chǎng)景需要加
                #設(shè)定回源通過(guò)http協(xié)議
                proxy_pass http://aaa-upstream;
		

        }

}

重點(diǎn)說(shuō)明

  • 要啟用nginx https支持,需要在安裝openssl,并安裝–with-http_ssl_module --with-http_v2_module 模塊,有需要可以參考tengine安裝(包含常用模塊)

  • 建議開啟 ssl會(huì)話緩存,降低握手時(shí)間 ssl_session_cache shared:SSL:10m;

  • proxy_http_version 1.1; 需要重點(diǎn)關(guān)注,在實(shí)際使用中發(fā)現(xiàn),不配置的話,可能會(huì)導(dǎo)致轉(zhuǎn)發(fā)到源端的http請(qǐng)求變成http1.0協(xié)議,從而導(dǎo)致源端報(bào)bad request 400的異常(如果源端也是一個(gè)nginx負(fù)載的情況下),而且http1.0協(xié)議的性能最差,最好還是加上。

  • websocket 應(yīng)用場(chǎng)景(比如IM實(shí)時(shí)通訊),開啟以下配置

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade"

這2行都是為了實(shí)時(shí)讓服務(wù)端能感知到客戶端的狀態(tài)變化文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-818704.html

  • 創(chuàng)建好的aaa.conf,可以放到nginx安裝目錄下的conf/site/下,同時(shí)在conf/nginx.conf中的http對(duì)象配置中添加 include site/*.conf; 以便于各站點(diǎn)配置的分別維護(hù)
  • 遇到問(wèn)題先定位一下是那一層出了問(wèn)題,是負(fù)載層,還是源端層,再判斷問(wèn)題根源

到了這里,關(guān)于tengine/nginx https請(qǐng)求 轉(zhuǎn)發(fā) http upstream的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • lua使用resty.http做nginx反向代理(https請(qǐng)求,docker容器化部署集群),一個(gè)域名多項(xiàng)目轉(zhuǎn)發(fā)

    lua使用resty.http做nginx反向代理(https請(qǐng)求,docker容器化部署集群),一個(gè)域名多項(xiàng)目轉(zhuǎn)發(fā)

    下載使用 鏈接:https://pan.baidu.com/s/1uQ7yCzQsPWsF6xavFTpbZg 提取碼:htay –來(lái)自百度網(wǎng)盤超級(jí)會(huì)員V5的分享 ad_load.lua文件

    2024年01月18日
    瀏覽(34)
  • Nginx轉(zhuǎn)發(fā)http到https和開機(jī)自動(dòng)啟動(dòng)

    Nginx轉(zhuǎn)發(fā)http到https和開機(jī)自動(dòng)啟動(dòng)

    場(chǎng)景: 以下都是基于windows系統(tǒng)(ip為虛構(gòu)) 1.ip:172.16.54.55需要訪問(wèn)172.16.54.57的接口服務(wù),來(lái)查看機(jī)械臂的運(yùn)行狀況 2.存在網(wǎng)絡(luò)隔離,172.16.54.55無(wú)法直接訪問(wèn)172.16.54.57 3.172.16.54.56與172.16.54.57是機(jī)械臂廠商搞得內(nèi)部網(wǎng)絡(luò),彼此可以互通 4.172.16.54.55與172.16.54.56是外部網(wǎng)絡(luò),彼此可以

    2023年04月25日
    瀏覽(21)
  • nginx配置http請(qǐng)求轉(zhuǎn)成https請(qǐng)求

    1、return 301 2、rewitre 3、error_page 原理: http和https是tcp的上層協(xié)議,當(dāng)nginx服務(wù)器建立tcp連接后,根據(jù)收到的第一份數(shù)據(jù)來(lái)確定客戶端是希望建立tls還是http。nginx會(huì)判斷tcp請(qǐng)求的首寫節(jié)內(nèi)容以進(jìn)行區(qū)分,如果是0x80或者0x16就可能是ssl或者tls,然后嘗試https握手。如果端口開啟了

    2024年02月07日
    瀏覽(22)
  • Nginx實(shí)現(xiàn)本地http轉(zhuǎn)https請(qǐng)求

    Nginx實(shí)現(xiàn)本地http轉(zhuǎn)https請(qǐng)求

    目錄 前言: 一、安裝nginx 二、安裝OpenSSL ? ? ? ? ?1、下載OpenSSL: ? ? ? ? ?2、配置環(huán)境變量: ? ? ? ? ? ? ? ? ? 2.1:配置環(huán)境變量,OpenSSL_HOME? ? ? ? ? ? ? ? ? ? 2.2:配置path ?三、生成https證書 ? ? ? ? ?1、創(chuàng)建ssl文件夾用于存放證書。創(chuàng)建私鑰 (建議使用系統(tǒng)窗口,

    2024年01月20日
    瀏覽(31)
  • 【nginx】配置將HTTPS請(qǐng)求轉(zhuǎn)換成HTTP

    要將HTTPS請(qǐng)求轉(zhuǎn)換為HTTP請(qǐng)求,可以在Nginx的配置文件中添加以下配置: 打開Nginx的配置文件,通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf 。 在 server 塊中添加以下配置,將HTTPS請(qǐng)求轉(zhuǎn)發(fā)到后端的HTTP服務(wù): 將 yourdomain.com 替換為你的域名, /path/to/your/ssl_certificate.crt 和

    2024年02月10日
    瀏覽(23)
  • Nginx自動(dòng)探活后端服務(wù)狀態(tài)自動(dòng)轉(zhuǎn)發(fā),nginx_upstream_check_module的使用

    nginx對(duì)后端節(jié)點(diǎn)健康檢查的方式主要有3種 1. gx_http_proxy_module 模塊和ngx_http_upstream_module模塊(自帶) 官網(wǎng)地址:http://nginx.org/cn/docs/http/ng … proxy_next_upstream 嚴(yán)格來(lái)說(shuō),nginx自帶是沒(méi)有針對(duì)負(fù)載均衡后端節(jié)點(diǎn)的健康檢查的,但是可以通過(guò)默認(rèn)自帶的ngx_http_proxy_module 模塊和ngx_htt

    2024年02月10日
    瀏覽(25)
  • 通過(guò)nginx將https協(xié)議反向代理到http協(xié)議請(qǐng)求上

    通過(guò)nginx將https協(xié)議反向代理到http協(xié)議請(qǐng)求上

    目前一個(gè)系統(tǒng)僅支持https協(xié)議訪問(wèn),因后端服務(wù)基于ssl協(xié)議,前端在請(qǐng)求是也需要支持ssl協(xié)議的https請(qǐng)求來(lái)訪問(wèn)。目前的代理服務(wù)器是nginx,現(xiàn)在想要 通過(guò)http訪問(wèn)系統(tǒng) ,需通過(guò)nginx的 反向代理 或者 重定向方式 將https請(qǐng)求代理為http請(qǐng)求。可實(shí)現(xiàn)的做法有如下幾種: 1、使后端

    2024年02月08日
    瀏覽(23)
  • nginx upstream server主動(dòng)健康監(jiān)測(cè)模塊添加https檢測(cè)功能【上】

    ??前面的《nginx upstream server主動(dòng)健康檢測(cè)模塊ngx_http_upstream_check_module 使用和源碼分析》系列已經(jīng)分析了ngx_http_upstream_check_module的實(shí)現(xiàn)原理,并且在借助這個(gè)模塊的框架實(shí)現(xiàn)了一個(gè)udp健康檢測(cè)的新功能。 ??但是ngx_http_upstream_check_module還缺乏基于https監(jiān)測(cè)上游服務(wù)器健康狀況

    2024年02月20日
    瀏覽(25)
  • nginx upstream server主動(dòng)健康檢測(cè)模塊添加https檢測(cè)功能[完整版]

    nginx upstream server主動(dòng)健康檢測(cè)模塊添加https檢測(cè)功能[完整版]

    ??前面的《nginx upstream server主動(dòng)健康檢測(cè)模塊ngx_http_upstream_check_module 使用和源碼分析》系列已經(jīng)分析了ngx_http_upstream_check_module的實(shí)現(xiàn)原理,并且在借助這個(gè)模塊的框架實(shí)現(xiàn)了一個(gè)udp健康檢測(cè)的新功能。 ??但是ngx_http_upstream_check_module還缺乏基于https監(jiān)測(cè)上游服務(wù)器健康狀況

    2024年02月19日
    瀏覽(25)
  • restTemplate轉(zhuǎn)發(fā)Https請(qǐng)求

    restTemplate轉(zhuǎn)發(fā)Https請(qǐng)求

    代碼架構(gòu) 效果

    2024年02月08日
    瀏覽(16)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包