[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SSL сертификат на шару.



On 2016-01-02, Иван Лох wrote:

>>  * для подстверждения собственности домена - требуют на сервере временно
>>    запустить слушателя на порту 80 или 443 - прерывая свои сервисы,
>>    подтверждение - не плохо, но че бы не на другом порту?
>
> Потому, что этот другой порт с вероятностью закрыт файрволом )))
>
Неприятно останавливать на неопределенное время WEB сервер.

Если бы они ложились куда то контекстом.

Например была возможность зарегистирировать CGI обработчик по произвольному
пути в основном сервере.

Я не углублялса конечно и сделал по основной рекомендации офиц. мануала.

В тикетах пишут запускать в контейнере или как:

  --standalone --standalone-supported-challenges http-01 --http-01-port 9999

и перенаправить:

  location /.well-known/acme-challenge {
     proxy_pass http://localhost:1086;
     proxy_set_header Host            $host;
     proxy_set_header X-Forwarded-For $remote_addr;
     proxy_set_header X-Forwarded-Proto https;
  }

Можно перенаправлять iptable, если узнать на каком адресе их долбилка
слушателя.

  https://community.letsencrypt.org/t/le-client-needs-to-bind-to-port-80-which-im-already-using/2739/3
  https://community.letsencrypt.org/t/nginx-docker-setup-for-le/2621/1
  https://github.com/letsencrypt/letsencrypt/issues/542

Не пробовал как оно работает. Апстрим по вопросу выделения произвольного порта
крайне недружелюбен:

  https://github.com/letsencrypt/acme-spec/issues/33

Они сервис-провайдеры, слово за ними, но аргументов не слышат.


>>  * для получения сертификата нужено запускать от root их поделие (для записи в
>>    системные каталоги и забиндить порт ниже 2000)
>>  * поменять пути инсталяции сертификатов крайне сложно, это не библиотека, это
>>    фрейворк
>
> Там есть выбор. Можно просто указать корень веб сервера. Можно сгенерировать файл
> в режиме manual и положить его на сайт в определенное место.

letsencrypt --text --email user@example.com --domains my.com --agree-tos --renew-by-default --manual certonly

Он просит положить файлик по определенному пути на web сервер:

  Make sure your web server displays the following content at
  http://example.com/.well-known/acme-challenge/-wxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxqfbY before continuing:

  -wUxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbY.8Vb-u7-fvIUeB44_xnoKLi23-n4A2uxxxxxxxxxxj8M

В принципе немного адаптировать настройки web-сервера что бы он раздавал
контент по /.well-known/acme-challenge - не столь сложно.

================================================================

По итогу они хотят проверять через 80 порт только потому что обычно рядовой
пользователь не сможет подкинуть файлы в /srv/www или открыть слушатель на 80

Защита от использования не превилегироваными пользователями их сервиса.

-- 
Best regards!


Reply to: