web-dev-qa-db-ja.com

一部のHTTPSトラフィックをCaddyのHTTPにリダイレクトします

同じサーバー上の多くのサイトのプロキシとしてCaddyを使用しています。一部のサイトはHTTPSの準備ができていません。 HTTPでうまくルーティングできますが、HTTPSでこれらのサイトにアクセスすると、醜いものになります...

No such site at :443

...エラー。代わりにCaddyを使用してHTTPにリダイレクトするにはどうすればよいですか?

これは機能しますが、エラーが発生します。

siteCanHandleSSL.com {
  proxy / 123.123.123.123:80 {
    transparent
  }
  tls [email protected] {
    dns route53
    max_certs 200
  }
}

http://siteCantHandleSLL.com {
  proxy / 123.456.654.321:80 {
    transparent
  }
  tls off
}

これにより、別のエラーが発生します。

siteCanHandleSSL.com {
  proxy / 123.123.123.123:80 {
    transparent
  }
  tls [email protected] {
    dns route53
    max_certs 200
  }
}

https://siteCantHandleSLL.com {
  redir http://{Host}{uri}
  tls off
}

http://siteCantHandleSLL.com {
  proxy / 123.456.654.321:80 {
    transparent
  }
  tls off
}

❯curl https://surrain.com curl:(60)SSL証明書の問題:無効な証明書チェーン詳細はこちら: https://curl.haxx.se/docs/sslcerts。 html

curlは、認証局(CA)公開鍵(CA証明書)の「バンドル」を使用して、デフォルトでSSL証明書の検証を実行します。デフォルトのバンドルファイルが適切でない場合は、-cacertオプションを使用して代替ファイルを指定できます。このHTTPSサーバーがバンドルで表されるCAによって署名された証明書を使用する場合、証明書の問題が原因で証明書の検証が失敗した可能性があります(有効期限が切れているか、名前がURLのドメイン名と一致しない可能性があります)。 curlによる証明書の検証をオフにする場合は、-k(または--insecure)オプションを使用します。

〜❯curl -k https://surrain.com そのようなサイトはありません:443%

1
Aaron Surrain

ドメインへの有効なSSL接続を確立するには、サーバーにそのドメインの有効な証明書が必要です。そうしないと、無効な証明書に関するエラーメッセージが表示されます。

HTTPSからHTTPにリダイレクトする場合は、有効な証明書が必要です。これは、SSLがHTTPを下回っており、有効なSSL接続がセットアップされた後にHTTPリダイレクト応答が送信されるためです。

最善の方法は、SSLポートをリッスンしているサーバーがないサーバーでHTTPのみのドメインをホストすることです。これは、HTTPS/HTTPサイトとプレーンHTTPサイトに別々のサーバーが必要であることを意味します。

0
Tero Kilkanen