2016-04-26 20 views
6

私のアプリケーションは、既知の権限のある有効な証明書を使用してHTTPSで実行されています。残念ながら、私はHTTPSをサポートしていないサードパーティのAPIを使用しています。Webサイトから安全ではないエンドポイントをHTTPS-nginxで実行する

結果は既知のメッセージです。混合コンテンツ:mydomain.comは、 安全でないXMLHttpRequestエンドポイントを要求しました。

安全でない、このAPIを呼び出すできるように、Webサーバに例外を追加することが可能です!私はNginx BTWを使用しています。

もしこの問題を解決する他の可能性があるものでないなら、

私は解決策を持っているが、それはパフォーマンスの欠点となりますので、私はそれを好きではない:

は、プロキシとして機能するAPIを実装し、HTTPSを介してアプリケーションからの要求を受信し、要求に作りますサードパーティのAPIはHTTPをスローします。

+0

私の答えは、問題を解決しましたか?あなたが設定で助けが必要なら、私はできます。 – khrm

+0

@khrmは明日試してみて、あなたを更新します –

答えて

3

私もこの問題がありました。 httpsを使用していて警告/エラーが発生しないようにするには、ページ上のすべてがhttpsを要求する必要があります。 nginxを使用している場合は、プロキシを実装する必要はありません。あなたが実装しているものは、正しく推測するとパフォーマンスが低下します。ちょうどnginxのプロキシパスを使用してください。私達の構成で は、我々が持っている:

location /thirdparty/ { 
     proxy pass http://thirdpartyserver/; 
} 

お知らせプロキシパスの末尾にスラッシュが、私はhttps://myserver/thirdparty/requesturlでのhttpあるすべてのサードパーティのAPIを保ちます。末尾のスラッシュはリクエストをしながら第三者を削除します。だから、http://thirdpartyserver/request

公式基準となる:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass

0

混合コンテンツを許可するには、個々のユーザーがブラウザで許可する必要があります。 1つのソースからHTTPコンテンツを許可するだけで、HTTPSのセキュリティが侵害されるため、ブラウザはデフォルトで混合コンテンツを禁止します。されている私が見ソリューション:

  • (これはまだセキュリティワイズ素晴らしいではありません)から(私はお勧めしませんがある)HTTPS退治

    1. あなたが示唆したものをやってプロキシ要求を取り除きますHTTPコンテンツ

    のグーグルは、ステップ1の下で、開発者のためのいくつかの提言を持っている(しかし、彼らは、基本的には以上のエコーされます):https://developers.google.com/web/fundamentals/security/prevent-mixed-content/fixing-mixed-content#step-1

  • +0

    ur返信ありがとう、私はHTTPSを削除しません。この記事を読んだが、探しているものを見つけられなかった。 –

    +0

    その記事は基本的に私が上記のことを概説しました。ユーザビリティの観点からは不幸ですが、セキュリティの観点からは、混在コンテンツがブロックされていることが重要です – winhowes

    関連する問題