2017-09-13 1 views
0

私はLiferay(Liferay 7.0-ga4)の最新バージョンをテストし、リバースプロキシ(nginx)の後ろにインストールしようとしています。私はドッカーとドッカーを使ってテストを行い、ダミードメインdocker.domain.comを作成します。NiferxリバースプロキシとしてLiferayを実行する

URLに直接アクセスし、リバースプロキシが設定されていない場合、Liferayはうまく動作します。私はルートの場所を使用する場合

また、私はnginxのサーバーの背後のLiferayをインストールするための成功を持っている:

proxy_passセクションで liferayは、ドッキングウィンドウのコンにリンクドッキングウィンドウコンテナの名前です
location/{ 
    proxy_pass http://liferay:8080; 
    proxy_set_header X-Forwarded-Server $host; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-Proto $scheme; 
} 

。 Liferayのオプション:

web.server.host=docker.domain.com 
web.server.protocol=http 
web.server.http.port=80 

リバースプロキシをLiferayで設定するには:

Liferay welcome page

私は、ログインの条件を受け入れることができますが、...すべてが細かいようだ:私はhttp://docker.domain.com/を入力すると結果が正しいです。

しかし、ルートではない場所(すなわち、/ lifeay)を使用すると、一般的にリンク、画像、およびCSSに関する問題が発生します。似てnginxのでconfiguraionで

location /liferay { 
    proxy_pass http://liferay:8080; 
    proxy_set_header X-Forwarded-Server $host; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-Proto $scheme; 
} 

とLiferayの構成に提案しhereとして追加:すべてのURLが台無しにされ、CSSが示されていないhttp://docker.domain.com/liferayにアクセスする場合

portal.proxy.path=/liferay 

。ここで私は、最終的な結果のスクリーンショットを添付:

Liferay style goes wrong

それは「Liferayは」URLに2回表示されますライン

http://docker.domain.com/liferay/liferay 

が面白いです。いくつかのエラーが生存者のTomcatログに表示されます。

12:48:29,019 WARN [http-nio-8080-exec-3][code_jsp:172] {code="404", msg="/liferay/o/mentions-web/css/mentions.css", uri=/liferay/o/mentions-web/css/mentions.css} 
12:48:29,021 WARN [http-nio-8080-exec-8][code_jsp:172] {code="404", msg="/liferay/o/frontend-css-web/main.css", uri=/liferay/o/frontend-css-web/main.css} 
.... 

明らかにいくつかのファイルが見つかりません。私はドッカーgithubで簡単な例を作成して、誰かが興味を持っていればそれを試してみてください。それでも、Liferayの設定で何かが欠落していることは確かですが、何が分かりません。少なくとも、私は公式の文書で何か手がかりを見つけることができません。

答えて

0

問題がproxy_passの末尾のスラッシュにあるようです。それは違いを生むものです。 this exampleに続き、nginxの設定ファイルは次のようになります。

location /liferay { 
    return 302 /liferay/; 
    } 

    location /liferay/ { 
    proxy_pass http://liferay:8080/; 
    proxy_set_header X-Forwarded-Server $host; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-Proto $scheme; 
    } 

そして今は、LiferayのCSSとURLが正しく機能しているようです。

関連する問題