私のnginxWebサーバーは、彼がすべきことをしません。サーバーへのすべてのhttp://リクエストはhttp 301でhttps://にリダイレクトする必要があります。これは、変更なしで機能しなくなるまで、過去数日間は正常に機能していました。
Nginxは、タイプが「application/octet-stream」で、次のコンテンツ(崇高に読める)の空のファイルを返します。
0000 1204 0000 0000 0000 0300 0000 8000
0400 0000 0000 0500 ffff ff00 0004 0800
0000 0000 7fff 0000 0000 0807 0000 0000
0000 0000 0000 0000 01
最初に行を削除しようとしました
default_type application/octet-stream;
私のnginx.confからですが、役に立ちませんでした。
Http-responseヘッダーは
Status: �����
Http://からhttps://への301リダイレクトのサーバーブロックは次のようになります
server {
listen 80;
listen [::]:80;
server_name my.tld www.my.tld;
return 301 https://$server_name$request_uri;
}
Nginxは、http://リクエストを受信しても、何もログに記録しません。 (/var/log/nginx/error.log | /var/log/nginx.access.log)。また、PHP7.0-fpm。
必要なものはすべてインストール、更新、アップグレードされます。サービスとサーバー自体の再起動は役に立ちませんでした。
これがcurl-v http://my.tld/ からの出力です。
* Connected to my.tld (123.123.123.123) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.38.0
> Host: my.tld
> Accept: */*
>
< HTTP/1.1 200 OK
< Mime-Version: 1.0
< Date: Thu, 06 Oct 2016 06:10:53 GMT
< X-Transformed-From: HTTP/0.9
< Transfer-Encoding: chunked
< Connection: keep-alive
<
* Connection #0 to Host my.tld left intact
Nginxが301の永続的なリダイレクトを返す必要があるのに200OKを返すのはなぜですか?
私は何も変更していません、それは同じ設定で動作しました...誰かが私を助けてくれることを願っています:-(。それはおそらくDNSの問題でしょうか?
最高、Unkn0wn0x
これを追加するのは、これが関連トピックのグーグル検索に表示される唯一のページの1つだからです。
私は同じ問題を抱えていましたが、最終的に解決策はあなたが概説したものと同じであることがわかりました。
どうやらhttp2
with listen 80
(sslなし)はブエノではありません。そして、これはすべてのnginx構成チェックをすり抜けるため、さらに混乱します。
私は問題を解決しました。これは、独自のルートディレクトリが構成されたサブドメインの構成ファイルでした。サブドメインの設定ファイルには
listen 80 http2;
listen [::]:80 http2
これは、エラー/ログファイルなどなしでWebサーバー全体に影響を及ぼしました(nginx -tもポジティブ)。 nginxを再インストールし、構成ファイルを段階的にバックアップした後、エラーが見つかりました。
ご支援ありがとうございます。
最高、Unkn0wn0x
X-Transformed-From
ヘッダーが疑わしいようです。確認する netstat -lnp
nginxが実際にポート80をリッスンしている場合、またはそれをリッスンしている他のプログラムがある場合はコマンド。
システムが危険にさらされる可能性があります。その場合、オンラインにする前に、バックアップから復元してシステムを更新する必要があります。
X-Transformed-From
ヘッダーに関連するものは何も見つかりません。私のnginxは次のポートでリッスンしています:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10282/nginx -g daem tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 10282/nginx -g daem tcp6 0 0 :::443 :::* LISTEN 10282/nginx -g daem tcp6 0 0 :::80 :::* LISTEN 10282/nginx -g daem
Https:// my.tldをリクエストし、その後http:// my.tldをリクエストすると、チャームのように機能します。モバイルでは、シークレット/プライベートタブでリクエストすると http://my.tld すぐにhttps://にリダイレクトされます。
ドメインで http://mxtoolbox.com/ からツール「HTTPlookup」を試しましたが、エラーが返されます。
HTTP connect The server committed a protocol violation. Section=ResponseStatusLine (http://my.tld)
一部のファイアウォールルール(ufw)などがポート80でのリクエストをブロックしているかどうかを確認しましたが、そうではありませんでした。
ufwステータス
80 ALLOW Anywhere
80 (v6) ALLOW Anywhere (v6)
443 ALLOW Anywhere
443 (v6) ALLOW Anywhere (v6)
My.tldには、いくつかのhtmlファイルのみがあり、phpなどはありません。
Mxtoolboxエラーは、サーバー(http:// /ポート80)に接続できなかったことを示していますが、可能です。 DNSの設定も問題ありません。
私は途方に暮れています:-(
よろしく、Unkn0wn0x