【问题标题】:.well-known/acme-challenge nginx 404 error.well-known/acme-challenge nginx 404 错误
【发布时间】:2018-11-09 04:36:38
【问题描述】:

我正在尝试验证 SSL 证书的文件上传。 文件必须是.well-known/acme-challenge/file

我已经成功地放置了上面的文件,但是当从 web http://weburl.com/.well-known/acme-challenge/file 访问同一个文件时,出现了 404 错误。 当我将相同的文件放在.well-known/ 中时,该文件可以从路径http://weburl.com/.well-known/file 成功访问。

我的 nginx 配置:

server {
        listen 80;

        server_name weburl.com; 
        root /var/www/html;

        location ~ /.well-known {
                allow all;
        }

        location ~ /\.well-known/acme-challenge/ {
            allow all;
            root /var/www/html;
            try_files $uri =404;
            break;
        }
}

【问题讨论】:

标签: nginx lets-encrypt


【解决方案1】:

您必须为 www-data 用户授予权限。

sudo chown -R www-data:www-data .well-known 

【讨论】:

    【解决方案2】:

    在第一种情况下,它会查找/var/www/html/.well-known/file

    在第二种情况下,它会查找/var/www/html/file

    你的目的是让它找到/var/www/html/.well-known/acme-challenge/file

    这是因为您在 location 块中指定了 root,这会改变读取文件的位置。

    所以不要这样:

        location ~ /\.well-known/acme-challenge/ {
            allow all;
            root /var/www/html; # <================= Your problem, sir
            try_files $uri =404;
            break;
        }
    

    你应该有这个:

        location ~ /\.well-known/acme-challenge/ {
            allow all;
            try_files $uri =404;
            break;
        }
    

    无耻插件:如果您只是做简单的虚拟主机并且您对 node 非常熟悉,您可能会喜欢Greenlock

    【讨论】:

    • 这里的根指令,虽然没有必要,因为它与已经在服务器级别定义的相同,但它是完全有效的。实际问题是当 Nginx 检查正则表达式匹配时,它会选择第一个匹配的位置块来处理请求,并且由于在此之前列出的位置块是用正则表达式定义的,它将匹配任何也匹配此块的请求,那么 Nginx 将始终选择上一个位置,使这个块完全多余。
    【解决方案3】:

    如果您在 Plesk 上安装了 LetsEcnrypt 模块,但由于某种原因您需要授权,例如。 example.com 像我们一样手动操作。

    将您的授权码添加到
    /var/www/vhosts/default/htdocs/.well-known/acme-challenge
    而不是预期的(域 webroot)
    /var/www/vhosts/example.com/htdocs/.well-known/acme-challenge

    为了找到所以我不得不检查/var/www/vhosts/system/example.com/conf/httpd.conf

    【讨论】:

      猜你喜欢
      • 2017-06-07
      • 2019-08-22
      • 2018-02-25
      • 1970-01-01
      • 2020-08-30
      • 2021-07-25
      • 2019-01-04
      • 2019-04-05
      • 1970-01-01
      相关资源
      最近更新 更多