Назад | Перейти на главную страницу

. хорошо известный тест для letsencrypt на nginx

Я действительно в своем уме! Во-первых, похоже, что нет способа сделать LetsEncrypt процесс проверки без активации домена! (что отстой, когда вы пытаетесь перейти с одного сервера на другой)

Тогда я не могу понять acme-проблема вещи для работы. Вот моя конфигурация для хоста доменов в nginx:

server {
    listen      xxx.xxx.xxx.xxx:80;
    server_name test.co.uk www.test.co.uk;
    root        /home/rachel/web/test.co.uk/public_html;

      # Necessary for Let's Encrypt Domain Name ownership validation
      location /.well-known/acme-challenge/ {
        try_files $uri /dev/null =404;
      }
      location / {
        return 301 https://$host$request_uri;
      }
}
server {
    listen      xxx.xxx.xxx.xxx;
    server_name cdn.test.co.uk ;
    root        /home/rachel/web/cdn.test.co.uk/public_html;
    index       index.php index.html index.htm;
    access_log  /var/log/nginx/domains/cdn.test.co.uk.log combined;
    access_log  /var/log/nginx/domains/cdn.test.co.uk.bytes bytes;
    error_log   /var/log/nginx/domains/cdn.test.co.uk.error.log error;

      # Necessary for Let's Encrypt Domain Name ownership validation
      location /.well-known/acme-challenge/ {
        try_files $uri /dev/null =404;
      }
      location / {
        return 301 https://$host$request_uri;
      }
}

Я сделал тестовый файл foo.html и поместил его в папку /.well-known/foo.html. Затем заходим в браузер:

http://test.co.uk/.well-known/foo.html

Я получаю ошибку 403. Что я делаю не так? Я не понимаю, почему это так сложно сделать!

Спасибо (надеюсь, вы сэкономите немного волос, которые у меня остались;))

Эх, мне действительно стоит начать с размещения своих вопросов здесь! Практически каждый раз после публикации я нахожу правильное решение!

Necessary for Let's Encrypt Domain Name ownership validation
location '/.well-known/acme-challenge' {
    root /home/rachel/web/cdn.test.co.uk/public_html;
}

location / {
      if ($scheme = http) {
        return 301 https://cdn.test.co.uk$request_uri;
      }
}

Надеюсь, это поможет кому-то другому!