日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

HTTPS 請求跳轉(zhuǎn)

如下面的配置:

location /test {proxy_pass http://www.baidu.com/;

在訪問 URI 為 /test 時會跳轉(zhuǎn)到百度,但此時瀏覽器中的 URL 也會發(fā)生變化。

這是因?yàn)椋合?http://www.baidu.com/ 發(fā)送請求后, Nginx 返回的是一個跳轉(zhuǎn)的響應(yīng)。

此后, 客戶端會重新向 https://www.baidu.com/ 發(fā)送請求(此過程不再經(jīng)歷 Nginx)。

所以,最終瀏覽器發(fā)生了跳轉(zhuǎn), 而非 Nginx 的負(fù)載均衡。

問題解決

將配置中的 http 改為 https 即可。

session 一致性

在使用 Nginx 做反向代理時,如果后端服務(wù)器是 Tomcat 等動態(tài)服務(wù)器,則可能會出現(xiàn) Session 一致性問題。

即: 無法確保同一個 Session 一定對應(yīng)同一個 Server;

配置網(wǎng)絡(luò)

下面使用 Docker 來演示。

配置 IP 地址:


 

并在 Server1 和 Server2 上啟動 Tomcat。

配置 Server

在 Server 端創(chuàng)建 jsp 頁面:

Server 1

[root@c5477d71795c ROOT]# pwd/var/lib/tomcat/webApps/ROOT[root@c5477d71795c ROOT]# cat index.jspfrom 172.20.1.101
session=<%=session.getId()%>

Server 2

[root@c5477d71795c ROOT]# pwd/var/lib/tomcat/webapps/ROOT[root@c5477d71795c ROOT]# cat index.jspfrom 172.20.1.102
session=<%=session.getId()%>

然后訪問 http://172.20.1.101:8080/ 和 http://172.20.1.102:8080/。

可分別顯示來自哪個 Server 和對應(yīng)的 SessionId,并且刷新頁面時 SessionId 不會變化(即使是使用 Ctrl+F5 刷新)。

配置 Nginx

修改 Nginx 的配置文件, 加入新的 upstream 配置和 server 配置。

upstream tomcat {server 172.20.1.101:8080;server 172.20.1.102:8080;server {location /cat {proxy_pass http://tomcat/;

重啟 Nginx:

[root@ce12b3b4ce00 sbin]# ./nginx -s reload

訪問 http://172.20.1.10/cat 并刷新,發(fā)現(xiàn) from 172.20.1.10x 一直在變化,并且session=xxx 也變化。

說明:此時 Nginx 的配置無法保證 Session 一致性!

解決方案

在 Tomcat 后面部署 redis,memcached 等內(nèi)存數(shù)據(jù)庫來保存 Session 相關(guān)信息。

本例中在 Nginx 服務(wù)器上安裝 memcached 來解決 Session 一致性問題。

安裝 memcached

在 Nginx 容器中使用 yum 安裝:

yum install -y memcached

啟動 memcached

使用 memcached 命令啟動:

memcached -d -m 128m -p 11211 -l 172.20.1.10 -u root -P /tmp/

參數(shù)說明:

 

  • -d: 后臺啟動
  • -m: 緩存大小
  • -p: 端口
  • -l: IP地址
  • -P: 服務(wù)啟動后系統(tǒng)進(jìn)程 ID 存儲文件的目錄
  • -u: 服務(wù)器以哪個用戶作為管理用戶

 

修改 Tomcat 配置

在兩臺 Server 中修改 tomcat 的配置:

[root@3a53f7504511 ROOT]# vi /etc/tomcat/context.xml# context標(biāo)簽中加入下面的內(nèi)容requestUriIgnorePattern=".*.(ico|png|gif|jpg|css|js)$"sessionBackupTimeout="1000"transcoderFactoryClass="de.JAVAkaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />

導(dǎo)入 jar 包使用 yum 安裝的 Tomcat 可將 jar 包放在 /usr/share/java/tomcat/ 目錄下。

需要的 jar 包:


 

Maven 依賴如下:

asmasm3.2com.couchbase.clientcouchbase-client1.4.11com.googlecodekryo1.04de.javakaffeekryo-serializers0.11de.javakaffee.msmmemcached-session-manager1.8.2de.javakaffee.msmmemcached-session-manager-tc71.8.2com.googlecodeminlog1.2de.javakaffee.msmmsm-kryo-serializer1.8.2com.esotericsoftwarereflectasm1.0.NET.spyspymemcached2.11.4

注: 如果依賴和 Tomcat 版本不對應(yīng)可能會什么也不顯示,此時響應(yīng)碼為 500。

驗(yàn)證

上述步驟都正確配置之后, 再次訪問 http://172.20.1.10/cat 并刷新會發(fā)現(xiàn) SessionId 不再變化。

分享到:
標(biāo)簽:負(fù)載均衡
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定