web-dev-qa-db-ja.com

特定のURLをHTTPSからHTTPにリダイレクトする

長い時間の潜伏者、初めての発信者...

HTTPS(証明書がインストールされているなど)を使用できるadmin.mysite.comのようなバックエンドがありますが、その管理ポータルは多くのクライアントサイトのCMSバックエンドです(つまりwww.clientsite.com)同じサーバーでホストされている。

ここではすべてうまくいきますが、問題は、ユーザーがhttps://www.clientsite.comにアクセスしようとすると、SSLについて不平を言うことです(私が*.mysite.comにインストールしたワイルドカードのため)。この証明書エラーを表示しないように、そのリクエストを受け取り、代わりにHTTPにリダイレクトする方法を見つけたいと思います。

HAProxyはリクエストをロードバランサーレベルで解読し、バックエンドに渡さないため、SSL終了を介してこれを行うことはできません。これが、HAProxyがHTTPヘッダーを読み取ることができる唯一の方法であるため、クライアントにはまだSSLエラーが表示されます。

私の他の唯一の考えは、Apacheで書き換えルールを試すことですが、条件付きのものです。

したがって、たとえば*.mysite.comはSSLを使用できますが、そのドメインを持たない他の要求は、厄介な証明書の警告が表示されることなく、強制的にHTTPに戻す必要があります。

これは可能ですか?

3
Jason

SHA2の公式CERTであり、かつhttaccessフォルダーのリダイレクトを制御できない限り、SSLは実行しません。 「htaccess経由でSSLを強制する」ためにGoogle検索を実行します

(Google Chromeは、SHA1である場合、CERTでエラーを表示する場合があります)。

1
Michael

私の他の唯一の考えは、Apacheで書き換えルールを試すことですが、条件付きのものです。

これは可能ですか?

残念ながら違います。リクエストがサーバー側コードにヒットするずっと前に、ユーザーには証明書エラーが表示されます。

証明書エラーを修正する唯一の方法は、証明書を修正することです。これが当てはまらない場合は、セキュリティをバイパスできます。

問題は、ユーザーがhttps://www.clientsite.comにアクセスしようとしたときです

とはいえ、ユーザーtryinghttps://...に移動するのはなぜですか?彼らはリンクをたどっていますか?

1
DocRoot