<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>vip5529780</title>
    <link>https://ruby-china.org/vip5529780</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>請問 nginx 中 server 帶有多個 location，那如何在瀏覽器中對 location 的緩存做標識</title>
      <description>&lt;p&gt;在配置反向代理的時候遇到了一個問題就是我在 nginx 中配置了 server 對應多個 location，每個 location 都是轉發到不同的目標網站
配置文件如下 CC:8083\CC:8080\CC:8088 這三個網站文件結構類似，但屬於不同的業務模塊，
現在有個問題就是我在同一瀏覽器中先訪問了 &lt;a href="http://AA/OA" rel="nofollow" target="_blank"&gt;http://AA/OA&lt;/a&gt; 網站是可以正常打開的，
然後我再去訪問&lt;a href="http://AA/OEDI" rel="nofollow" target="_blank"&gt;http://AA/OEDI&lt;/a&gt;時網站就異常了登錄成功無法正常跳轉，
後來發現是緩存文件的問題，清理文件緩存然後再去訪問&lt;a href="http://AA/OEDI" rel="nofollow" target="_blank"&gt;http://AA/OEDI&lt;/a&gt;是正常的。
首次訪問了 OA 時瀏覽器緩存了 OA 的文件，再次訪問 OEDI 時調用了 OA 的緩存導致了跳轉失敗，
請問這種問題有什麼好的決解方法嗎？如何給緩存做標識？&lt;/p&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="n"&gt;server&lt;/span&gt; {
       &lt;span class="n"&gt;listen&lt;/span&gt;       &lt;span class="m"&gt;80&lt;/span&gt;;
       &lt;span class="n"&gt;server_name&lt;/span&gt;  &lt;span class="n"&gt;AA&lt;/span&gt;;
       &lt;span class="n"&gt;fastcgi_read_timeout&lt;/span&gt; &lt;span class="m"&gt;600&lt;/span&gt;; &lt;span class="c"&gt;#設置服務響應超時問題 如果不設置WEB表單加載時間長的話會報錯（s）
&lt;/span&gt;       &lt;span class="n"&gt;fastcgi_send_timeout&lt;/span&gt; &lt;span class="m"&gt;600&lt;/span&gt;; &lt;span class="c"&gt;#設置服務響應超時問題 如果不設置WEB表單加載時間長的話會報錯（s）
&lt;/span&gt;       &lt;span class="n"&gt;client_max_body_size&lt;/span&gt; &lt;span class="m"&gt;30&lt;/span&gt;&lt;span class="n"&gt;m&lt;/span&gt;; &lt;span class="c"&gt;#設置通過反向代理訪問web可上傳文件的最大值（m）
&lt;/span&gt;       &lt;span class="n"&gt;location&lt;/span&gt; /&lt;span class="n"&gt;OA&lt;/span&gt;/
       {       
           &lt;span class="n"&gt;root&lt;/span&gt;   &lt;span class="n"&gt;html&lt;/span&gt;;
               &lt;span class="n"&gt;proxy_pass&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;://&lt;span class="n"&gt;CC&lt;/span&gt;:&lt;span class="m"&gt;8083&lt;/span&gt;/;
           &lt;span class="n"&gt;proxy_pass_request_headers&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt;;
               &lt;span class="n"&gt;if&lt;/span&gt; ( $&lt;span class="n"&gt;host&lt;/span&gt; ~ &lt;span class="s2"&gt;"https://CC:8083"&lt;/span&gt; )
           {
                   &lt;span class="n"&gt;rewrite&lt;/span&gt; ^/(.*)$ /&lt;span class="n"&gt;OA&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt;;        
           }
           &lt;span class="n"&gt;if&lt;/span&gt; ($&lt;span class="n"&gt;document_uri&lt;/span&gt; ~ &lt;span class="n"&gt;http&lt;/span&gt;://&lt;span class="n"&gt;AA&lt;/span&gt;/)
           {
                   &lt;span class="n"&gt;rewrite&lt;/span&gt; ^/(.*)$ /&lt;span class="n"&gt;OA&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt;;        
           }
           &lt;span class="n"&gt;if&lt;/span&gt; ( $&lt;span class="n"&gt;Uri&lt;/span&gt; ~ &lt;span class="s2"&gt;"https://CC:8083"&lt;/span&gt; )
           {
                   &lt;span class="n"&gt;rewrite&lt;/span&gt; ^/(.*)$ /&lt;span class="n"&gt;OA&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt;;        
           }
           &lt;span class="n"&gt;if&lt;/span&gt; ( $&lt;span class="n"&gt;Uri&lt;/span&gt; ~ &lt;span class="s2"&gt;"https://AA"&lt;/span&gt; )
           {
                   &lt;span class="n"&gt;rewrite&lt;/span&gt; ^/(.*)$ /&lt;span class="n"&gt;OA&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt;;        
           }
       }
       &lt;span class="n"&gt;location&lt;/span&gt; /&lt;span class="n"&gt;OEDI&lt;/span&gt;/ 
       {
           &lt;span class="n"&gt;root&lt;/span&gt;   &lt;span class="n"&gt;html&lt;/span&gt;;
           &lt;span class="n"&gt;proxy_pass&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;://&lt;span class="n"&gt;CC&lt;/span&gt;:&lt;span class="m"&gt;8088&lt;/span&gt;/;
           &lt;span class="c"&gt;#proxy_redirect http://$host/;
&lt;/span&gt;           &lt;span class="n"&gt;proxy_pass_request_headers&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt;;
           &lt;span class="n"&gt;if&lt;/span&gt; ( $&lt;span class="n"&gt;host&lt;/span&gt; ~ &lt;span class="s2"&gt;"https://CC:8088"&lt;/span&gt; )
           {
                   &lt;span class="n"&gt;rewrite&lt;/span&gt; ^/(.*)$ /&lt;span class="n"&gt;OEDI&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt;;      
           }
           &lt;span class="n"&gt;if&lt;/span&gt; ($&lt;span class="n"&gt;document_uri&lt;/span&gt; ~ &lt;span class="n"&gt;http&lt;/span&gt;://&lt;span class="n"&gt;AA&lt;/span&gt;/)
           {
                   &lt;span class="n"&gt;rewrite&lt;/span&gt; ^/(.*)$ /&lt;span class="n"&gt;OEDI&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt;;      
           }
           &lt;span class="n"&gt;if&lt;/span&gt; ( $&lt;span class="n"&gt;Uri&lt;/span&gt; ~ &lt;span class="s2"&gt;"https://CC:8088"&lt;/span&gt; )
           {
                   &lt;span class="n"&gt;rewrite&lt;/span&gt; ^/(.*)$ /&lt;span class="n"&gt;OEDI&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt;;      
           }
           &lt;span class="n"&gt;if&lt;/span&gt; ( $&lt;span class="n"&gt;Uri&lt;/span&gt; ~ &lt;span class="s2"&gt;"https://AA"&lt;/span&gt; )
           {
                   &lt;span class="n"&gt;rewrite&lt;/span&gt; ^/(.*)$ /&lt;span class="n"&gt;OEDI&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt;;      
           }

       }
       &lt;span class="n"&gt;location&lt;/span&gt; / {
           &lt;span class="n"&gt;root&lt;/span&gt;   &lt;span class="n"&gt;html&lt;/span&gt;;
           &lt;span class="n"&gt;if&lt;/span&gt; ($&lt;span class="n"&gt;http_cookie&lt;/span&gt; ~* &lt;span class="s2"&gt;"SEDI"&lt;/span&gt;) {
                           &lt;span class="n"&gt;rewrite&lt;/span&gt;   ^/(.*)$  /&lt;span class="n"&gt;SEDI&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt;  &lt;span class="n"&gt;last&lt;/span&gt;;      
                       }
           &lt;span class="n"&gt;if&lt;/span&gt; ($&lt;span class="n"&gt;http_cookie&lt;/span&gt; ~* &lt;span class="s2"&gt;"OEDI"&lt;/span&gt;) {
                           &lt;span class="n"&gt;rewrite&lt;/span&gt;   ^/(.*)$  /&lt;span class="n"&gt;OEDI&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt;  &lt;span class="n"&gt;last&lt;/span&gt;;      
                       }
           &lt;span class="n"&gt;if&lt;/span&gt; ($&lt;span class="n"&gt;http_cookie&lt;/span&gt; ~* &lt;span class="s2"&gt;"OA"&lt;/span&gt;) {
                           &lt;span class="n"&gt;rewrite&lt;/span&gt;   ^/(.*)$  /&lt;span class="n"&gt;OA&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt;  &lt;span class="n"&gt;last&lt;/span&gt;;        
                       }
       }
       &lt;span class="n"&gt;location&lt;/span&gt; /&lt;span class="n"&gt;SEDI&lt;/span&gt;/
       {       &lt;span class="n"&gt;root&lt;/span&gt;   &lt;span class="n"&gt;html&lt;/span&gt;;
               &lt;span class="n"&gt;proxy_pass&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;://&lt;span class="n"&gt;CC&lt;/span&gt;:&lt;span class="m"&gt;8080&lt;/span&gt;/;
           &lt;span class="c"&gt;#proxy_redirect http://$host/;
&lt;/span&gt;           &lt;span class="n"&gt;proxy_pass_request_headers&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt;;
           &lt;span class="n"&gt;if&lt;/span&gt; ( $&lt;span class="n"&gt;host&lt;/span&gt; ~ &lt;span class="s2"&gt;"https://CC:8080"&lt;/span&gt; )
           {
               &lt;span class="n"&gt;rewrite&lt;/span&gt; ^/(.*)$ /&lt;span class="n"&gt;SEDI&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt;;      
           }
           &lt;span class="n"&gt;if&lt;/span&gt; ( $&lt;span class="n"&gt;host&lt;/span&gt; ~ &lt;span class="s2"&gt;"http://http://AA"&lt;/span&gt; )
           {
               &lt;span class="n"&gt;rewrite&lt;/span&gt; ^/(.*)$ /&lt;span class="n"&gt;SEDI&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt;;      
           }
           &lt;span class="n"&gt;if&lt;/span&gt; ($&lt;span class="n"&gt;document_uri&lt;/span&gt; ~ &lt;span class="n"&gt;http&lt;/span&gt;://&lt;span class="n"&gt;AA&lt;/span&gt;/)
           {
               &lt;span class="n"&gt;rewrite&lt;/span&gt; ^/(.*)$ /&lt;span class="n"&gt;SEDI&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt;;      
           }
           &lt;span class="n"&gt;if&lt;/span&gt; ( $&lt;span class="n"&gt;Uri&lt;/span&gt; ~ &lt;span class="s2"&gt;"https://CC:8088"&lt;/span&gt; )
           {
                   &lt;span class="n"&gt;rewrite&lt;/span&gt; ^/(.*)$ /&lt;span class="n"&gt;SEDI&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt;;      
           }
           &lt;span class="n"&gt;if&lt;/span&gt; ( $&lt;span class="n"&gt;Uri&lt;/span&gt; ~ &lt;span class="s2"&gt;"https://AA"&lt;/span&gt; )
           {
               &lt;span class="n"&gt;rewrite&lt;/span&gt; ^/(.*)$ /&lt;span class="n"&gt;SEDI&lt;/span&gt;/$&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;last&lt;/span&gt;;      
           }
       }
   }
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>vip5529780</author>
      <pubDate>Thu, 15 Aug 2019 11:29:56 +0800</pubDate>
      <link>https://ruby-china.org/topics/38945</link>
      <guid>https://ruby-china.org/topics/38945</guid>
    </item>
  </channel>
</rss>
