私はいくつかのウェブサイトを設定し、それを私のサーバーで実行できることを知っています。これらのサイトの1つはhttps接続を使用するため、次のサーバー構成を使用します。
server {
server_name ceremcem.net www.ceremcem.net;
listen 80;
rewrite ^ https://$server_name$request_uri? permanent;
#return 301 https://$host$request_uri;
}
すべてのhttp接続をhttpsにリダイレクトします。
数日前まで、すべてがうまくいきました。
今私が渡したすべてのウェブサイトhttps://ceremcem.net。この構成ファイルを削除してnginxを再ロードしましたが、問題は解決しません。このサーバー上のすべてのサイトは強制的にhttps接続を使用し、ceremcem.netにリダイレクトされます。どのファイルにもこれらのリダイレクトはありません。
root@server:/etc/nginx/sites-enabled# grep https *
root@server:/etc/nginx/sites-enabled#
問題をどのようにデバッグできますか?
root@server:/etc/nginx/sites-enabled# nginx -v
nginx version: nginx/1.6.0
root@server:/etc/nginx/sites-enabled# uname -a
Linux server.aktos-elektronik.com 3.13-1-amd64 #1 SMP Debian 3.13.10-1 (2014-04-15) x86_64 GNU/Linux
答え1
質問のデバッグ方法に対する答え:
私は一般的に使用します
grep -FHnir https .
。正規表現ではなく大文字と小文字を区別しない再帰的な grep が生成され、出力にファイル名と行番号が含まれるためです。最近変わったことがありますか? nginxのアップグレード、nginxへの新しい仮想ホストの追加など?
server { }
問題のあるWebホストのブロックの例を教えてください。内容nginx.conf
も役に立ちます。あなたがすることができるもう1つのこと:
curl -iL http://someothersite.com
.書き換えによってクライアント側のリダイレクトが発生した場合は、それに従うことができます。