我已经设置并知道可以在我的服务器上运行某些网站。这些站点之一使用 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 { }
您能否向我们展示一个来自遇到问题的虚拟主机的块的示例?的内容nginx.conf
也可能有帮助。您可以做的另一件事:
curl -iL http://someothersite.com
.如果重写导致客户端重定向,您将能够遵循它们。