[解決済み] nginx 400 "The plain HTTP request was sent to HTTPS port" エラーへの対処法
2022-06-11 11:48:48
質問
passenger/nginx の背後で Sinatra アプリを実行しています。http と https の両方の呼び出しに応答するようにしようとしています。問題は、サーバー ブロックで両方が定義されている場合、https の呼び出しには正常に応答しますが、http では 400 "The plain HTTP request was sent to HTTPS port" というエラーが発生することです。これは静的なページに対するものなので、Sinatraはこれと何の関係もないのだと思います。これを修正する方法について何かアイデアがありますか?
これはサーバーブロックです。
server {
listen 80;
listen 443 ssl;
server_name localhost;
root /home/myhome/app/public;
passenger_enabled on;
ssl on;
ssl_certificate /opt/nginx/ssl_keys/ssl.crt;
ssl_certificate_key /opt/nginx/ssl_keys/ssl.key;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
location /static {
root /home/myhome/app/public;
index index.html index.htm index.php;
}
error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500 /500.html;
access_log /home/myhome/app/logs/access.log;
error_log /home/myhome/app/logs/error.log;
}
どのように解決するのですか?
同じような問題に遭遇しました。 あるサーバでは動作するのですが、同じ Nginx 構成の別のサーバでは動作しません。 Igor が回答している解決策をここで見つけました。 http://forum.nginx.org/read.php?2,1612,1627#msg-1627
はい。あるいは、SSL/非SSLサーバを1つのサーバにまとめることもできます。
server {
listen 80;
listen 443 default ssl;
# ssl on - remember to comment this out
}
関連
-
[解決済み] どのヘッダテストツールでもnginxが400 bad request headersを投げるのを修正する方法は?
-
ブラウザエラー net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK) 解決策
-
Gitはいくつかのバグフィックスを行いました。マージされていないファイルがあるため、Pullができない。
-
linux システムでの Nginx のインストール: make: *** `install' をターゲットとするルールがありません。停止します。
-
nginx 起動プロンプト nginx: [emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
[解決済み] NGINXのproxy_passまたはproxy_redirect
-
[解決済み】Nginx 403 forbidden for all files
-
[解決済み] nginxが任意のドメイン名で応答するのはなぜですか?
-
[解決済み] nginx.confを編集してファイルサイズのアップロードを増やす方法
-
[解決済み] nginxです。[server_names_hash_bucket_size を大きくする必要があります。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「設定ファイル/etc/nginx/nginx.confのテストに失敗しました」。この原因を知るにはどうしたらいいですか?
-
[解決済み] Certbot /.well-known/acme-challenge
-
linux システムでの Nginx のインストール: make: *** `install' をターゲットとするルールがありません。停止します。
-
Nginx] エラー413 Request Entity Too Largeの解決方法
-
nginx 起動プロンプト nginx: [emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
Nginxのエラー「The plain HTTP request was sent to HTTPS port」の解決方法。
-
[解決済み] NGINXのproxy_passまたはproxy_redirect
-
[解決済み】Kubernetes サービス 外部 ip 保留
-
[解決済み] nginx が空白の PHP ページを表示する
-
[解決済み] React-routerとnginx