Android-Chrome で Confluence サイトを表示すると URL が複数回リダイレクトされますが、デスクトップ Chrome やその他のブラウザではそうではありません。

Android-Chrome で Confluence サイトを表示すると URL が複数回リダイレクトされますが、デスクトップ Chrome やその他のブラウザではそうではありません。

URLを公開してビューをテストしたところ、AndroidのChromeが次のURLに何度もリダイレクトされることを確認しました。 Cookieを削除してデータを検索してみましたが、まだ同じ現象が発生します。これはぜひ変えなければならないサイト設定のようです。サイトは、同じ仮想マシン内で実行されているNGinXサーバーによってプロキシされるConfluenceサイトであるGoogle Cloudでホストされています。

テストケース:

  • Android-Chromeで「テストURL」に移動して「間違ったURL」にリダイレクトする - >なぜですか? /どのように修正するのか?
  • Android-Chrome で「デスクトップ サイト」をリクエストし、「テスト URL」に移動して期待 URL を取得します。
  • Android-Firefox 経由で「テスト URL」に移動し、予想 URL を取得します。
  • デスクトップコンピュータ(Win10)のChrome / FireFox / Edge / IE(すべてのブラウザ)から「テストURL」に移動して、予想URLを入手してください。

テストURL: https://www.freesoftwareservers.com/display/FREES/Prep+Linux+OS+for+GPU+Passthrough+-+Blacklist+nouveau+and+use+vfio-pci+drivers+script

他のテストURL: https://www.freesoftwareservers.com/display/FREES/Free+Software+Servers

エラーURL: 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;

答え1

nginxプロキシ設定は大丈夫です。

ただし、Confluenceにはモバイル専用セクション/コンテンツがあります。

nginxからhttpからhttpsへのリダイレクトを使用してループを作成するには、httpリンクが必要です。

答え2

この問題は、サーバー名とプロキシ URL の間の不一致に関連しています。デスクトップではうまく動作しますが、モバイルでは動作しないようです。 Google Cloud から自分の LAN にサイトを移動しましたが、まだ同じ問題が発生するため、問題がキャッシュに関連していないことを確認できます。

私のプロキシをconfluence.freesoftwareservers.comプロキシ名として使用する前はうまくいきましたが、公にwww.freesoftwareservers.comアクセスできるものに変更することで問題が解決しました。

これはAtlassianサポートから受け取った動作するコネクタです(彼らのサポートは素晴らしいです!)

修正する:

https://community.atlassian.com/t5/Confluence-questions/Can-t-view-site-on-Mobile-browser-Redirects-to-many-times/qaq-p/1033424

https://www.freesoftwareservers.com/display/FREES/Confluence+HTTPS+SSL+Reverse+Proxy+via+NginX

この問題はTomCatプロキシコネクタに関連しています。NGinX設定には適用されません。

次のファイルを編集します。

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"/>

関連情報