web-dev-qa-db-ja.com

.well-known / acme-challenge nginx404エラー

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;
        }
}
5
Matey Johnson

Www-dataユーザーに権限を付与する必要があります。

Sudo chown -R www-data:www-data .well-known 
0
northtree

LetsEcnryptモジュールをPleskにインストールしたが、何らかの理由で承認する必要がある場合。 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をチェックしなければなりませんでした

0
Nedvajz

最初のケースでは、/var/www/html/.well-known/fileを探します。

2番目のケースでは、/var/www/html/fileを探します。

あなたが意図しているのは、それが/var/www/html/.well-known/acme-challenge/fileを見つけることです。

これは、rootブロックでlocationを指定するためです。これにより、ファイルの読み取り元が変更されます。

したがって、これの代わりに:

    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;
    }

恥知らずなプラグイン:単純な仮想ホスティングを行っていて、ノードに精通している場合は、 Greenlock がお勧めです。

0
CoolAJ86