我已经设置了letsencrypt,但由于某种原因它提供了错误的索引文件。 http url提供正确的文件。但https提供了错误的文件。
/etc/nginx/sites-available/default
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP
#index index.php index.html index.htm index.nginx-debian.html;
index index.php index.html index.htm;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location /.well-known/acme-challenge {
root /var/www/letsencrypt;
}
}
server {
listen 443 ssl;
server_name EXAMPLE.COM;
ssl_certificate /etc/letsencrypt/live/EXAMPLE.COM/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/EXAMPLE.COM/privkey.pem;
}
该文件是默认的“欢迎使用Debian上的nginx!”它位于/var/www/html/index.nginx-debian.html
但即使我更改文件内容,https仍会显示旧内容。重新启动没有帮助。
更改后我尝试搜索文件显示的位置。
sudo grep 'Welcome to nginx on Debian' -nir
没什么,因为我改变了文件。
我从索引中删除了该文件。
#index index.php index.html index.htm index.nginx-debian.html;
index index.php index.html index.htm;
重启后仍然没有。 (我知道我可以重新加载nginx,但我想确定)
我知道如果我将webroot和索引设置为ssl服务器块,可能会修复它。但是我想知道它如何能够提供我在任何地方都找不到的文件。
Nginx从哪里获取此文件?
答案 0 :(得分:0)
感谢日志,我发现https的根目录为/usr/share/nginx/html