nginx集群時遇到雙認證中心的單點登入

2021-09-01 21:47:51 字數 4078 閱讀 4725

1.專案背景

目前需要使用nginx集群oa1/oa2和ca1/ca2

2.關鍵問題

因oa原來都是使用session,所有nginx使用ip-hash策略。可把固定ip被分配到固定的伺服器。nginx實際位址配置到原來的2個tomcat。

oa或者第3方得到token後,返回ca認證,使用的httpclient。從第3方應用伺服器端返回認證時無法區分是哪個ca產生token,所以驗證失敗。

3.解決方案

使用memcache。把token資訊儲存在分布式快取伺服器上。key包括」sessionids_$「和"token_$",value型別分布式list和string。第三方發回token認證時,根據賬號得到sessionids,逐個得到sessionids對應的token來比較。

3.nginx.conf配置檔案如下.

location ~ (.jsp)|(.action)|(.do)|(.ftl)$                              ###所以jsp、do的動態請求都交給後面的tomcat處理     

建立Redis集群時遇到問題(二)

建立redis集群時,報錯 err sorry,can t connect to node 192.168.56.102 7001 如下圖 第一種情況 檢查redis埠是否已經開啟,出現這種情況一般是因為大意。第二種情況 配置檔案中沒有加bind配置,沒加的話預設是只有127.0.0.1才能訪問到r...

建立Redis集群時遇到問題(一)

使用redis trib.rb工具執行建立redis集群時,報錯如下圖 解決辦法 ruby的redis介面沒有安裝,需要安裝redis介面,輸入命令 gem install redis 進行安裝,如下圖 在安裝redis介面的時候可能會遇到如上的問題,以上錯誤資訊告訴我們ruby版本太低 關於解決r...

安裝Nginx時遇到的pcre庫問題

在redhat4.4上安裝nginx,提示說無法找到pcre庫,可能是庫的版本不對,無法識別。由於誤操作,在沒有備份的時候,直接輸入命令 rpm e pcre nodeps 導致系統把 lib64目錄下的libpcre.so.0被刪除,而很多程式都依賴這個so庫,比如grep。網上很多說可以通過原始...