2017-08-08 7 views
0

私の仕事のサーバーにnginxをインストールして、私たちのアプリケーションでsslでリバースプロキシとして使用できるようにしました。私はこれで自己署名証明書を作成し、オンラインいくつかの記事を追っ:nginxとsslで逆プロキシを行った後にスクリプトがロードされない

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/cert.key -out /etc/nginx/cert.crt 

はよう、/ etc/nginxの/サイト利用可能な下の設定を行うと、nginxのを再起動した後、私はこの問題を思い付きました。

私のサーバーで動作している3つのアプリケーションのうち2つはうまく動作しているようですが、唯一の「問題」はCAからの証明書ではないため、例外を追加する必要があります。 。これら2つはnode.jsアプリとjenkinsです。

3つ目のアプリケーションでは、スクリプトが読み込まれないという問題がありました。より正確には、彼らはクローム、オペラ、Firefoxで実行されているが、私は、以下のように危険なスクリプトを実行できるように、URLの右側に小さな盾をクリックしたときにのみ:

enter image description here

さて、私が欲しいもの達成するためには、スクリプトを実行させるためにクリックすることなく、すべてのブラウザからスクリプトをロードすることです。スクリプトがデフォルトで実行されるnode.jsアプリケーションと同様です。このアプリは、maven、jenkins、docker、backboneの組み合わせで構築されています。私は開発の一部ではなかったので、私はアプリについて多くのことを知らない。ですから、httpを使用するときと同じように、スクリプトをデフォルトで実行できるように、maven-docker-backboneの設定を変更する必要があるのだろうかと思います。ここで

私のアプリのためのリバースプロキシの設定ファイルである:

server { 
    listen 80; 
    return 301 https://$host$request_uri; 
} 

server { 

    listen 443; 
    server_name mysub.domain.com; 

    ssl_certificate   /etc/nginx/ssl/nginx.crt; 
    ssl_certificate_key  /etc/nginx/ssl/nginx.key; 

    ssl on; 
    ssl_session_cache builtin:1000 shared:SSL:10m; 
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; 
    ssl_prefer_server_ciphers on; 

    access_log   /var/log/nginx/myapp.access.log; 

    location/{ 

     proxy_set_header  Host $host; 
     proxy_set_header  X-Real-IP $remote_addr; 
     proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header  X-Forwarded-Proto $scheme; 

     # Fix the “It appears that your reverse proxy set up is broken" error. 
     proxy_pass   http://localhost:myport; 
     proxy_read_timeout 90; 

     proxy_redirect  http://localhost:myport https://mysub.domain.com; 
    } 
    } 

そして最後に、ここでは通常のスクリプトを実行し、SSLなしのconfファイルである:

server { 
    listen 80; 

    server_name mysub.domain.com; 

    location/{ 
     proxy_pass http://127.0.0.1:myport; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_set_header Host $host; 
     proxy_cache_bypass $http_upgrade; 
    } 
} 

長くて申し訳ありませんが投稿、お手伝いをすることがありますヒントの事前に感謝します。

答えて

0

APIホストでCORSを開く必要があります。

1

私の場合、すべてのコンテンツがhttpsで配信されているわけではありません。すべてのファイルがhttpではなくhttpsを使用していることを確認してください。

https_mixed_content_error

関連する問題