2017-03-24 16 views
3

キューバプラットフォームを実行しているTomcatのプロキシとしてnginxを設定しようとするのは非常に困難です。 SSL用にNginxを使用しています。NginxによってプロキシされたTomcatのキューブ

nginxのディレクティブ:

server { 
    server_name test.domain.it www.test.domain.it; 
    access_log /var/log/nginx/test.domain.it.access.log rt_cache; 
    error_log /var/log/nginx/test.domain.it.error.log; 
    root /var/www/test.domain.it/htdocs/PHPApp/public; 
    index index.php index.html index.htm; 
    include common/php7.conf; 
    include common/locations-php7.conf; 
    listen 443 ssl; 
    ssl on; 
    ssl_certificate  /etc/letsencrypt/live/test.domain.it/fullchain.pem; 
    ssl_certificate_key  /etc/letsencrypt/live/test.domain.it/privkey.pem; 

    location /board { 
     proxy_set_header X-Forwarded-Host $host; 
     proxy_set_header X-Forwarded-Server $host; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_read_timeout  3600; 
     proxy_connect_timeout 240; 
     proxy_set_header Host $host; 
     proxy_set_header X-RealIP $remote_addr; 

     proxy_pass http://127.0.0.1:8080/board; 
     proxy_set_header X-Forwarded-Proto $scheme; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection "upgrade"; 
    } 
} 

のTomcat/confに/ボード/ local.app.properties:

cuba.webHostName = test.domain.it 
cuba.webAppUrl = https://test.domain.it/board 
cuba.webContextName = board 

のTomcat/confに/ボードコア/ local.app.properties:

cuba.webHostName = test.domain.it 
cuba.automaticDatabaseUpdate = true 
cuba.webAppUrl = https://test.domain.it/board 

Nginxアクセスログ:

82.60.41.71 0.010 - [31/Mar/2017:15:13:21 +0200] test.k-rev.it "GET /board HTTP/1.1" 302 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36" 
82.60.41.71 0.015 - [31/Mar/2017:15:13:21 +0200] test.k-rev.it "GET /board/ HTTP/1.1" 200 1033 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36" 

Tomcatのアクセスログ:私は "ドメイン" ではなく実際のドメインを使用する上

127.0.0.1 - - [31/Mar/2017:10:48:40 +0200] "GET /board HTTP/1.1" 302 - 
127.0.0.1 - - [31/Mar/2017:10:48:40 +0200] "GET /board/ HTTP/1.1" 200 2349 

。 serverディレクティブからわかるように、私はすでにroot上にPHPアプリケーションを持っています。

私はすでに運がないいくつかのオプションを試しました。 私は、Tomcatにアクセスすることができますが、私はポップアップを取得する「ブートストラップのJavaScriptの読み込みに失敗しました:./VAADIN/vaadinBootstrap.js?v2017_03_24_15_29」ポート8080上の外部からのTomcatへのアクセス

SSLなしでは正常に動作します。

+0

をチェックaccess log - tomcatが '/ board /'接頭辞を指定せずにリソースをロードしようとしている可能性があります。 –

+0

リクエストを参照している唯一のログはnginxです – gmlion

+0

ログエントリとは何ですか? –

答えて

3

私はあなたがあなたのアプリケーションのためのTomcatで同じ/パスを使用して、あなたのように場所を設定することができますことをお勧めします。また、

location /board { 
    proxy_pass http://127.0.0.1:8080/board; 
} 

参照:正しいウェブソケットプッシュ設定のためのhttps://doc.cuba-platform.com/manual-6.4/server_push_settings.html

+0

この場合、cuba.webHostNameとcuba.webAppUrlも設定する必要がありますか?公衆に直面するホスト名に? – gmlion

+0

私はまだ同じエラーが発生しています – gmlion

+0

ボード/ VAADIN/resources/jquery/jquery-1.12.4.min.js、board/VAADIN/vaadinPush.js?v2017_03_28_11_25の404も取得しています。私は現在sslをnginxに設定しましたが、それもなくしてみましたが、エラーは同じです – gmlion

関連する問題