web-dev-qa-db-ja.com

SSL証明書なしでhttpsをhttpにリダイレクトする方法

私がここで何を求めているのかを説明するのは難しいです。

SSL証明書を持たないWebサイトがあり、そのページをFacebookアプリケーションのランディングページとして使用しています。

私の問題は、誰かがFacebook(https://)で安全な接続を行っているときに、iframesrcが私のランディングページの同じhttpsURLを指していることです。これは次のようなエラーを返します。

SSL connection error

Unable to make a secure connection to the server. This may be a problem with the server, or it may be requiring a client authentication certificate that you don't have.

Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error.

ユーザーがSSL証明書をインストールせずにhttpまたは回避策にリダイレクトするにはどうすればよいですか?

これを行う方法は実際にはありません。HTTPSは、SSL証明書が存在し、データがサーバーに送信される前にSSLネゴシエーションが発生することに依存しています。したがって、SSL証明書がない場合は、リダイレクトを送信できるポイントに到達することさえありません(監視しているように)。

できるだけ安い証明書を購入することをお勧めします。GoDaddyには12.99ドルのスペシャルがあり、この目的(FacebookアプリのSSLページ)で非常に効果的に使用しており、15分で購入して準備できます。

編集:@xbakesxがコメントで述べているように、 Lets Encrypt を使用してください。完全に無料で、遅延はなく、ほとんどどこでも受け入れられます。

26
Femi

Femiのコメントに加えて、すべてのFacebookアプリとページは10月1日からSSLをサポートする必要があるため、とにかく準備する必要があります。

再: https://developers.facebook.com/blog/post/499/

3
geekuality

今日、証明書がなくてもHTTPSを使用したページを作成できる優れたソリューションを見つけました。

Cloudflare SSLを使用できます:Flexible。このように、SSLはクライアントとcloudflareサーバーの間であり、cloudflareとサーバーの間は安全ではありません。

このオプションは、サーバーとcloudflareの間の接続が暗号化されていないため、機密データがない場合にのみ使用されます

これはそれがどのように見えるかです:

enter image description here

詳細はこちらをご覧ください: https://support.cloudflare.com/hc/en-us/articles/200170416-What-do-the-SSL-options-mean-

2
Daniel Dudas

HTTPSで最初の接続が発生するのを防ぐことができない場合、あなた(およびサーバー)は会話に参加しません。唯一の2つのオプションは、1)SSL証明書を取得する(安価です)、または2)何らかの方法でHTTP経由で接続を確立することです。

2
Peter Rowell