
最近サーバー側で SSL セキュリティを導入した Web サイトにアクセスする際に問題が発生しています。
通常通り Web サイトにアクセスすることは問題ありませんが、その Web サイトをホストしているサーバー上で開こうとすると、開けません。
これはこのサーバー上の唯一のサイトではなく、私はそれらすべてにアクセスできますが、SSLセキュリティ。
問題となるのは、問題のウェブサイトにAPIサービス他のサイトのいくつかもこの API に接続する必要があります。
しかし、このウェブサイトに接続するにはxmlHttpリクエスト(およびその他の同様のコード) が機能しません。
すべての機能が API で利用できるのであれば、他のサイトのコードをすべて書き直す必要はないと思います。(これは、サービスが進化し、変化するにつれて、さまざまな場所で変更を加えることも意味します。)
この問題の原因は何ですか? また、どうすれば解決できますか?
編集:このサーバーには SSL で保護された別のサイトがあり、そのステータスについて誤った情報を得ました。この別の Web サイトにはサーバー側からアクセスできます。サーバーの IIS とファイアウォールのすべての設定を調べて、動作が異なる理由を調べます。
編集:https の使用を強制する書き換えルールを内部アドレス (127.0.0.1) に適用しないように変更することで解決策を見つけました。これで、サーバー側から Web サイトにアクセスできるようになりました。
これは問題を解決するものではなく、問題を回避するための一時的な修正にすぎません。
答え1
ウェブサイトのホストエントリを追加し、ドメイン名を使用してアクセスできます。この方法でSSLハンドシェイクが機能します
答え2
名前でサイトにアクセスしlocalhost
、SSL 証明書がホスト名 (または他の名前) に設定されている場合は、クライアントが接続を拒否することがあります。詳細がわからないため、問題を解決する方法を言うことは困難ですが、SSL 証明書にあるのと同じ名前でリクエストを送信するか、クライアント サーバー検証をオフにしてみることができますが、その場合、SSL が提供するセキュリティは失われます。