在配置反向代理的時候遇到了一個問題就是我在 nginx 中配置了 server 對應多個 location,每個 location 都是轉發到不同的目標網站 配置文件如下 CC:8083\CC:8080\CC:8088 這三個網站文件結構類似,但屬於不同的業務模塊, 現在有個問題就是我在同一瀏覽器中先訪問了 http://AA/OA 網站是可以正常打開的, 然後我再去訪問http://AA/OEDI時網站就異常了登錄成功無法正常跳轉, 後來發現是緩存文件的問題,清理文件緩存然後再去訪問http://AA/OEDI是正常的。 首次訪問了 OA 時瀏覽器緩存了 OA 的文件,再次訪問 OEDI 時調用了 OA 的緩存導致了跳轉失敗, 請問這種問題有什麼好的決解方法嗎?如何給緩存做標識?
server {
       listen       80;
       server_name  AA;
       fastcgi_read_timeout 600; #設置服務響應超時問題 如果不設置WEB表單加載時間長的話會報錯(s)
       fastcgi_send_timeout 600; #設置服務響應超時問題 如果不設置WEB表單加載時間長的話會報錯(s)
       client_max_body_size 30m; #設置通過反向代理訪問web可上傳文件的最大值(m)
       location /OA/
       {       
           root   html;
               proxy_pass https://CC:8083/;
           proxy_pass_request_headers on;
               if ( $host ~ "https://CC:8083" )
           {
                   rewrite ^/(.*)$ /OA/$1 last;        
           }
           if ($document_uri ~ http://AA/)
           {
                   rewrite ^/(.*)$ /OA/$1 last;        
           }
           if ( $Uri ~ "https://CC:8083" )
           {
                   rewrite ^/(.*)$ /OA/$1 last;        
           }
           if ( $Uri ~ "https://AA" )
           {
                   rewrite ^/(.*)$ /OA/$1 last;        
           }
       }
       location /OEDI/ 
       {
           root   html;
           proxy_pass https://CC:8088/;
           #proxy_redirect http://$host/;
           proxy_pass_request_headers on;
           if ( $host ~ "https://CC:8088" )
           {
                   rewrite ^/(.*)$ /OEDI/$1 last;      
           }
           if ($document_uri ~ http://AA/)
           {
                   rewrite ^/(.*)$ /OEDI/$1 last;      
           }
           if ( $Uri ~ "https://CC:8088" )
           {
                   rewrite ^/(.*)$ /OEDI/$1 last;      
           }
           if ( $Uri ~ "https://AA" )
           {
                   rewrite ^/(.*)$ /OEDI/$1 last;      
           }
       }
       location / {
           root   html;
           if ($http_cookie ~* "SEDI") {
                           rewrite   ^/(.*)$  /SEDI/$1  last;      
                       }
           if ($http_cookie ~* "OEDI") {
                           rewrite   ^/(.*)$  /OEDI/$1  last;      
                       }
           if ($http_cookie ~* "OA") {
                           rewrite   ^/(.*)$  /OA/$1  last;        
                       }
       }
       location /SEDI/
       {       root   html;
               proxy_pass https://CC:8080/;
           #proxy_redirect http://$host/;
           proxy_pass_request_headers on;
           if ( $host ~ "https://CC:8080" )
           {
               rewrite ^/(.*)$ /SEDI/$1 last;      
           }
           if ( $host ~ "http://http://AA" )
           {
               rewrite ^/(.*)$ /SEDI/$1 last;      
           }
           if ($document_uri ~ http://AA/)
           {
               rewrite ^/(.*)$ /SEDI/$1 last;      
           }
           if ( $Uri ~ "https://CC:8088" )
           {
                   rewrite ^/(.*)$ /SEDI/$1 last;      
           }
           if ( $Uri ~ "https://AA" )
           {
               rewrite ^/(.*)$ /SEDI/$1 last;      
           }
       }
   }