У меня есть домен, который я просто буду называть «example.org» из соображений безопасности, работающий на Amazon EC2, на котором я пытаюсь заставить работать SSL-доступ.Я использую letsencrypt и Certbot для выдачи моих сертификатов.Все работало нормально в течение первых 90 дней, пока я не попытался обновить сертификат SSL.Мне удалось успешно обновить сертификат для моего доменного имени, но по какой-то причине у меня, кажется, есть отдельный сертификат для прокси-сервера, который я использую на порту 1337, который отображается как просроченный.
Когда я пытаюсь использовать приложение на своем сайте, я вижу следующую ошибку на консоли JavaScript в браузере:
example.org:1337 uses an invalid security certificate.
The certificate expired on Tuesday, October 9, 2018, 7:50 PM. The current time is Friday, October 19, 2018, 3:43 PM.
Error code: <a id="errorCode" title="SEC_ERROR_EXPIRED_CERTIFICATE">SEC_ERROR_EXPIRED_CERTIFICATE</a>
(unknown)
Моим клиентским приложением является Angular 6 SPA, который напрямую связываетсяс "https://example.org:1337".
с помощью SSL checker я вижу, что мой" example.org "показывает, что срок действия сертификата домена истекает через 47 дней. Однако, когда я проверяю"example.org:1337 "в нем говорится, что срок действия сертификата истек 13 дней назад. Насколько я понимаю, мне нужен только один сертификат SSL на домен, и мне не нужно отдельно сертифицировать каждый порт. Первоначально я не запрашивал сертификат для порта 1337,но у меня есть proxyPass , указанный для него в "/etc/apache2/sites-available/000-default-le-ssl.conf":
# allow us to call a node server without the user having to specify the port number
# directly e.g. call the proxy server like it's a standard http route.
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location /servers/meta-data-proxy>
ProxyPass https://localhost:1337
ProxyPassReverse https://localhost:1337
</Location>
Когда я проверяю SSLдля другого порта, который я использую, у которого нет прокси-сервера, он говорит: «сертификаты ssl не найдены», чего я и ожидал.
certbot показывает следующие сертификаты:
> sudo certbot certifictes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
Certificate Name: example.org
Domains: example.org www.example.org
Expiry Date: 2018-12-09 11:08:32+00:00 (VALID: 47 days)
Certificate Path: /etc/letsencrypt/live/example.org/fullchain.pem
Private Key Path: /etc/letsencrypt/live/example.org/privkey.pem
Как я могу:
a) Обновитьили синхронизировать сертификат на порту 1337, чтобы он был синхронизирован с сертификатом на доменном имени?
b) Каким-то образом удалить просроченный сертификат на порту 1337 на моем компьютере.Я не вижу его в списке в соответствии с Certbot.Я надеюсь, что, удалив его, он каким-то образом динамически настроит все заново.
Я даже не совсем уверен, что мне нужен «ProxyPass».Возможно, это было то, что я только что сделал изначально, чтобы все заработало, но на самом деле это не нужно.
Ubuntu 18.04 Apache2 2.4.29