2016-05-31 7 views
0

私は今、私のすべての髪を失っています。Certbot:Webルートにnginxを設定できません

Certbot(letsencrypt)を自分のサーバーにセットアップしようとしています。

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の設定:しかし、私はさえ持つURL http://myapp.com/.well-known/acme-challenge/myfileを利用可能にすることはできません

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 

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

答えて

1

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

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

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

+0

ありがとうございました。私の間違いはこれよりもはるかにばかげていました。 –

0

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

nginxのコンフィグサイトが/etc/nginx/sites-availableではなく/etc/nginx/sites-enabledにありました。

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

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

関連する問題