openssl s_clientオプションを使用してWebブラウザーで正常に動作しているサーバーをテストしようとしています。opensslを使用して直接接続すると、400 Bad Requestが返されます。
openssl s_client -servername example.com -connect example.com:443 -tls1
(some information about the certificate)
GET / HTTP/1.1
(and the error occurs **immediately** - no time to include more headers like Host:)
重要:Host:ヘッダーをすでに配置しようとしましたが、GETを実行するとエラーがすぐに発生し、ヘッダーを追加する機会がありません。example.comを私のホストに置き換えます...
GET /index.html ...
ませんまたはあなたはクッキーを設定する必要があるかもしれません。curl
またはを試して、エラーを含む完全なリクエストとレスポンスwget
を投稿する必要があります。それ以外の場合は、実際のサーバー名とURLを指定して、テストを実行できるようにする必要があります。
echo
:echo -e "GET / HTTP/1.1\r\nHost: example.com.br\r\n\r\n" | openssl s_client ...
。これ\r\n
は、HTTP標準がそうするように言っていることなので重要です。要求の最後にある2つのCRLFペアも重要です。これは、標準でそうするためです。また、「エコー」を「openssl」にどのようにパイプするかを