通過 Android-Chrome 查看 Confluence 站點多次重定向 URL,但桌面 Chrome 和其他瀏覽器不會
我剛剛發布了一個 URL 並測試查看它我注意到在 Android 上的 Chrome 中它重定向到以下 URL 的次數太多。我嘗試清除我的 cookie 和瀏覽數據,但它仍然做了同樣的事情。我認為這是我需要更改的網站設置。該站點託管在 Google Cloud 上,它是一個 Confluence 站點,由執行在同一 VM 內的 NGinX 伺服器代理。
測試案例:
- 從 Android-Chrome 導航到“測試 URL”並重定向到“錯誤 URL”-> 為什麼?/如何修復?
- 在 Android-Chrome 上請求“桌面站點”並導航到“測試 URL”並獲取預期的 URL
- 通過 Android-Firefox 導航到“測試 URL”並獲取預期的 URL
- 在台式電腦 (Win10) 上的 Chrome/FireFox/Edge/IE(任何瀏覽器)上導航到“測試 URL”並獲得預期的 URL!
另一個測試網址: https ://www.freesoftwareservers.com/display/FREES/Free+Software+Servers
錯誤網址: https ://www.freesoftwareservers.com/#content/view/327684
注意:另一位使用者已確認這是 Android Chrome 的特定問題,而不是 Android Firefox 或桌面 Chrome 的特定問題。即使在請求桌面版本時使用 Android Chrome 也可以!
更新:這是我的 NGinX 配置
##Confluence server { listen 80; server_name www.freesoftwareservers.com freesoftwareservers.com; return 301 https://www.freesoftwareservers.com/; } server { listen 443 ssl; server_name www.freesoftwareservers.com freesoftwareservers.com; rewrite ^/wiki / permanent; location / { proxy_pass http://localhost:8091/; include /etc/nginx/proxy.conf; } } root@confluence:/etc/nginx/sites-enabled# cat /etc/nginx/proxy.conf proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffers 32 4k;
該問題與伺服器名稱與代理 url 不匹配有關。雖然它以某種方式與桌面一起工作,但顯然它不適用於移動設備。當我將網站從 Google Cloud 移動到我的區域網路時,我可以確認問題與任何記憶體無關,但仍然遇到同樣的問題。
在我使用我的代理
confluence.freesoftwareservers.com
作為代理名稱之前它可以工作,但是將其更改為www.freesoftwareservers.com
公開訪問它的方式修復了它。這是我從 Atlassian Support 那裡得到的工作連接器(他們很棒,有支持!)
更新:
https://www.freesoftwareservers.com/display/FREES/Confluence+HTTPS+SSL+Reverse+Proxy+via+NginX
該問題與未使用 NGinX 設置的 TomCat 代理連接器有關。
編輯以下文件:
nano /opt/atlassian/confluence/conf/server.xml && service confluence restart
這是通過 NGinX 和 HTTPS 的代理的工作配置
<Server port="8000" shutdown="SHUTDOWN" debug="0"> <Service name="Tomcat-Standalone"> <!-- =================================================================================$ DEFAULT - Direct connector with no proxy, for unproxied HTTP access to Confluence. If using a http/https proxy, comment out this connector. =================================================================================$ --> <Connector port="8090" maxThreads="200" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true" scheme="https" proxyName="www.freesoftwareservers.com" proxyPort="443"/>
nginx 代理配置似乎沒問題。
但是,Confluence 具有移動特定的部分/內容。
您必須有 http 連結,這些連結在 nginx 中使用您的 http 到 https 重定向創建一個循環。