Обновление SSL-сертификата для gitlab с помощью certbot и позволяет шифровать
Я запускаю gitlab на Ubuntu 14. Срок действия ранее настроенного сертификата истек (запись cron для обновления не была настроена). Я пытаюсь настроить certbot (с помощью давайте шифровать), чтобы обновить сертификат, а затем настроить запись crontab для автоматического обновления. Когда я запускаю certbot, я получаю сообщение, скопированное ниже (есть место, где я могу получить более подробное сообщение об ошибке):
команда выполняется:
./certbot-auto certonly --webroot -w /opt/gitlab/ssl -d git.xyz.com
git.xyz.com является действительным доменом (я заменил фактический домен на xyz). Каталог /opt/gitlab/ssl существует, и пользователь, используемый для запуска команды, имеет права на чтение / запись для этого каталога и его содержимого.
Ошибка Ошибка процедуры авторизации. git.xyz.com (http-01): urn:acme:error:connection:: Серверу не удалось подключиться к клиенту для проверки домена:: Не удалось подключиться к git.xyz.com
ВАЖНЫЕ ЗАМЕТКИ:
- The following errors were reported by the server:
Domain: git.xyz.com
Type: connection
Detail: Could not connect to git.xyz.com
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A record(s) for that domain
contain(s) the right IP address. Additionally, please check that
your computer has a publicly routable IP address and that no
firewalls are preventing the server from communicating with the
client. If you're using the webroot plugin, you should also verify
that you are serving files from the webroot path you provided.
Любые мысли о том, как я могу решить эту проблему лучше?
забыл упомянуть: я могу получить доступ к URL-адресу из внешней сети (имя домена указано правильно), и в настоящее время не настроен брандмауэр для остановки трафика на порту 80/443 (я даже отключил брандмауэр для проверки).
1 ответ
Я не уверен, что это поможет, но, по крайней мере, я мог представить, что это проблема:
- Вы автоматически перенаправляете на
https
при подключении черезhttp
, - Это перенаправление также применимо к Let's Encrypt, поэтому они получат ваш недействительный сертификат из-за даты.
- На этом этапе соединение не будет успешным, что приведет к ошибке, показанной вам.
- Кроме того, вы используете
HSTS
, Я не уверен, что Let's Encrypt уважает этот заголовок, если они когда-то видели его.
Так что делать? Я тоже не уверен, но вот несколько советов:
- Отключить
http
вhttps
перенаправьте и попробуйте снова. Если
HSTS
уважается:Установить
HSTS
заголовок чего-то очень короткого, например, одну секунду, поместите эту конфигурацию на место, снова запустите клиент Let's Encrypt, чтобы он получил новый заголовок, отключите перенаправление, подождите некоторое время и снова запустите клиент.Если это не работает: получите другой сертификат, действительный, например, выданный StartSSL, установите его и попробуйте снова.
На будущее:
- Настройте автоматическое обновление сертификата и, кроме того, включите мониторинг, который, по крайней мере, предупредит вас, если что-то подобное может произойти снова, до того, как это произойдет.
Сделай что-нибудь хорошее:
- Создайте заявку или напишите сообщение на их форум / в электронное письмо, объясняющее, что произошло, и спрашивающее, могут ли они проверить эти ошибки, и дайте людям подсказку (лучше сообщение об ошибке).
(Незначительный: если вы не хотите делать свой домен общедоступным, удалите его из своего сообщения.)