Вопрос или проблема
Заменил мое действительное доменное имя на ‘domain’.
У меня запущен nextcloud на сервере 192.168.1.2, при открытии сайта nc.domain.eu и проверке сертификата:
Common Name (CN) nc.domain.eu Organization (O) Organizational Unit (OU)
Так что это работает.
Но когда я открываю adguard.domain.eu, он показывает:
Common Name (CN) collabora.domain.eu Organization (O) Organizational Unit (OU)
Collabora раньше работала на этой машине, но из-за проблем я удалил её, однако ‘сертификат’ все еще остается.
При выполнении:
openssl s_client -showcerts -connect 192.168.1.2:443
---
Server certificate
subject=CN = collabora.domain.eu
issuer=C = US, O = Let's Encrypt, CN = E6
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: ECDSA
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 3314 bytes and written 373 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 256 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
Как мне удалить этот сертификат из Ubuntu?
locate .pem | grep "\.pem$" | xargs -I{} openssl x509 -issuer -enddate -noout -in {}
Я использовал это, чтобы найти ‘collabora.domain.eu’ и нашел 2 результата:
не удалось прочитать сертификат из
/etc/letsencrypt/archive/collabora.domain.eu/privkey1.pem
директория содержит:
cert1.pem chain1.pem fullchain1.pem privkey1.pem
Не удалось прочитать сертификат из
/etc/letsencrypt/live/collabora.domain.eu/privkey.pem
директория содержит:
cert.pem chain.pem fullchain.pem privkey.pem README
Могу ли я просто удалить эти директории? и запустить:
update-ca-certificates
И я хочу добавить www.domain.eu и *.domain.eu на этот сервер. Я уже создал файлы на Nginx Proxy Manager. Могу ли я просто скопировать их? Если да, то куда?
Я также попробовал:
sudo certbot certificates
sudo certbot delete
выбрал ‘1’, который был ‘collabora.domain.eu’, и запустил
update-ca-certificates
но
openssl s_client -showcerts -connect 192.168.1.2:443
все еще показывает его.
Ответ или решение
Удаление сертификата SSL на сервере Ubuntu может оказаться необходимым, если неактуальные или неверные данные мешают корректной работе сайта. В рассматриваемом случае у вас возникла проблема с сертификатом, относящимся к ранее установленному сервису Collabora на сервере 192.168.1.2. Этот сертификат продолжает присутствовать и может вызвать проблемы, например, при доступе к другим ресурсам, как adguard.domain.eu.
Теория:
В общем случае, для управления SSL-сертификатами на сервере Ubuntu используется утилита Certbot. Она позволяет автоматизировать процесс создания, обновления и удаления сертификатов, выданных такими центрами сертификации, как Let’s Encrypt. Когда удаление сертификата через Certbot завершено, оставшиеся файлы в системе могут все еще создавать путаницу. Важно не только удалить записи из Certbot, но и гарантировать отсутствие последствий в конфигурации веб-сервера.
Пример:
В вашем случае возникли сложности из-за того, что старый сертификат, связанный с Collabora, не был корректно удалён и продолжает использоваться сервером.
-
Удаление через Certbot:
Вы предприняли шаги для удаления сертификата, используя Certbot.sudo certbot delete
Выбрали сертификат для collabora.domain.eu и удалили его. Certbot также обновляет конфигурации для веб-сервера, такие как Apache или Nginx.
-
Проверка остатков сертификатов:
Старый сертификат всё ещё можно увидеть через командуopenssl s_client
, что может означать кеширование старых сертификатов или неверную конфигурацию веб-сервера.openssl s_client -showcerts -connect 192.168.1.2:443
-
Проверка конфигурации:
Возможно, конфигурация вашего веб-сервера не была обновлена. Убедитесь, что файлы конфигурации не ссылаются на старые сертификаты. -
Физическое удаление файлов:
Несмотря на то, что Certbot удалил записи, файлы могли остаться. Проверьте директории, которые вы указали, например:/etc/letsencrypt/archive/collabora.domain.eu/ /etc/letsencrypt/live/collabora.domain.eu/
Удалите физически эти директории и их содержимое, если они больше не нужны.
sudo rm -rf /etc/letsencrypt/archive/collabora.domain.eu
sudo rm -rf /etc/letsencrypt/live/collabora.domain.eu
Применение:
-
Конфигурация веб-сервера:
Убедитесь, что ваш Nginx или Apache настроен правильно. Перезапустите веб-сервер после всех изменений.sudo systemctl restart nginx # или apache2 в зависимости от установленного веб-сервера
-
Добавление новых сертификатов:
Для добавления сертификатов www.domain.eu и *.domain.eu, скопируйте созданные сертификаты с Nginx Proxy Manager в соответствующие директории./etc/letsencrypt/live/www.domain.eu/ /etc/letsencrypt/live/domain.eu/
Обратите внимание на обновление конфигурации веб-сервера для использования новых сертификатов:
server { listen 443 ssl; server_name www.domain.eu *.domain.eu; ssl_certificate /etc/letsencrypt/live/domain.eu/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain.eu/privkey.pem; }
-
Перезапуск веб-сервера:
После всех корректировок не забудьте перезапустить веб-сервер для активации изменений.sudo systemctl restart nginx # или apache2
-
Проверка установки:
Повторно проверьте установку сертификатов командой OpenSSL. Это подтвердит, использует ли сервер правильный сертификат.openssl s_client -showcerts -connect www.domain.eu:443
Таким образом, процесс удаления и добавления сертификатов требует точности и внимательности к деталям, особенно в части конфигурации веб-сервера и управления файлами сертификатов. Убедитесь, что нет лишних или неиспользуемых ссылок на старые сертификаты, что поможет избежать проблем вместе с улучшением безопасности вашей системы.