Nginx ssl提供不同的索引文件

时间:2016-09-19 08:00:16

标签: ssl nginx

我已经设置了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从哪里获取此文件?

1 个答案:

答案 0 :(得分:0)

感谢日志,我发现https的根目录为/usr/share/nginx/html