以下の内容はhttps://takuya-1st.hatenablog.jp/entry/2022/03/31/135253より取得しました。


https がエラーになって "\x16\x03\x01\x02" になる場合

httpsを設定したら、次のようにエラーになった。

nginx やApacheHTTPSを設定したら、エラーになった。再起動はうまくいく

"\x16\x03\x01\x02" というリクエストが解釈できないエラー。

==> access_log <==
192.168.11.1 - - [25/Mar/2022:18:26:23 +0900] "\x16\x03\x01\x02" 400 226 "-" "-"
192.168.11.1 - - [25/Mar/2022:18:28:30 +0900] "\x16\x03\x01\x02" 400 226 "-" "-"
192.168.11.1 - - [25/Mar/2022:18:28:34 +0900] "\x16\x03\x01\x02" 400 226 "-" "-"
192.168.11.1 - - [25/Mar/2022:18:28:39 +0900] "\x16\x03\x01\x02" 400 226 "-" "-"

ブラウザ上ではProtcol mismatchなど

ブラウザ上ではプロトコル・ミスマッチや、SSLエラーがでている。

原因

サーバーが、443 ポートでHTTPSをリッスンしていない。443ポートでHTTPをリッスンしている。

原因としては、HTTPサーバーが、443 ポートでHTTP通信しているために、openssl のセッションスタートのパケットが文字列処理されて、ファイルが見つからないなどのエラーになる。

"\x16\x03\x01\x02"は、SSL/TLS通信のネゴシエーション開始である。

httpdHTTPSではなく、HTTPとして解釈しようとして、"\x16\x03\x01\x02"という命令がHTTPに存在しないので、エラーになる。

要は、httpd の設定が甘い。SSL/TLSの関係を見直す。

対策。

HTTPSをちゃんと設定する。

SSLの証明書

証明書と鍵をちゃんと設定する。

秘密鍵ファイルが間違ってると起動し無いはずですが。再度確認しましょう。

ポートとHTTPS設定を見直す

ちゃんと https / 443 でリッスンしていますか

nginx の設定のリッスンと、httpに注意する。

server {

  server_name  example.com;
  listen 443 ssl http2 ;
  if ($scheme = http) {
    return 301 https://$server_name$request_uri;
  }
}

この設定ファイルはミスを誘発しやすいので、http→httpsリダイレクトは、設定を分ける。

Apache 2.4.8 以降で中間証明書を使ってませんか

Apache2.4.8 で SSLCertificateChainFile を使ってませんか。

SSLCertificateChainFileは deprecated です

apache では SSLCertificateChainFile は使わなくなりました。

中間証明書を末尾に追加します。

cat cert.pem chain.pem > fullchain.pem



以上の内容はhttps://takuya-1st.hatenablog.jp/entry/2022/03/31/135253より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14