1

今は全身脱毛中。

サーバーに Certbot (letsencrypt) をセットアップしようとしています。しかし、私はURLを利用可能にすることさえできませんhttp://myapp.com/.well-known/acme-challenge/myfile:

namei -om /var/www/certbot/.well-known/acme-challenge/myfile 
f: /var/www/certbot/.well-known/acme-challenge/myfile
 drwxr-xr-x 1000 1000 /
 drwxr-xr-x root root var
 drwxr-xr-x root root www
 drwxr-xr-x root root certbot
 drwxr-xr-x root root .well-known
 drwxr-xr-x root root acme-challenge
 -rw-r--r-- root root myfile

および次のnginx構成:

upstream myapp {
  server                localhost:3000;
}

server {
  listen                80;
  server_name           myapp.com;

  location /.well-known/acme-challenge {
    default_type "text/plain";
    root /var/www/certbot;
  }

  location / {
    proxy_pass          http://myapp;
    proxy_read_timeout  90;
  }

}

しかし、URL は利用できません:

curl -I http://myapp.com/.well-known/acme-challenge/myfile
HTTP/1.1 404 Not Found
Server: nginx/1.6.2
Date: Tue, 31 May 2016 17:40:23 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 47
Connection: keep-alive
X-Powered-By: Express
X-Content-Type-Options: nosniff

私は何を間違っていますか??? 私を助けてください!

4

2 に答える 2

1

ドットが含まれているため、場所を引用する必要があると思います。このような:

location '/.well-known/acme-challenge/' {
   # ...
}

私はそれについて完全にはわかりませんが、他の人がこれを行うのを見たことがあり、私にはうまくいくようです.

于 2016-06-05T11:28:00.703 に答える
0

私は最終的に解決策を見つけました:

nginx 構成サイトはありまし/etc/nginx/sites-availableたが、ありませんでした/etc/nginx/sites-enabled

前者から後者へのリンクを作成しましたが、シンボリック リンクではありませんでした ( の-sオプションがありませんln /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled)。

シンボリックではないリンクの使用例をまだ理解していませんが、私の場合はそれが問題でした。

于 2016-06-05T17:41:24.493 に答える