Странная ошибка TLS при использовании curl на исходном сервере x.509

Странная ошибка TLS при использовании curl на исходном сервере x.509

Я надеюсь, что кто-нибудь сможет помочь объяснить, что происходит в этой ситуации.

На данный момент у меня есть домен от google domains, и я использую cloudflare для управления DNS. Я не использую функции TLS/SSL от cloudflare, универсальный SSL отключен, и я также не проксирую свои DNS-запросы. Я использую caddy в качестве обратного прокси-сервера на своем сервере и использую встроенный клиент acme, который получает сертификаты от letsencrypt. Я получаю сертификаты нормально, и все мои внешние сайты показывают используемый сертификат, который находится на моем сервере. Однако, когда я запускаю команду curlна своем сервере по HTTPS, я получаю это странное поведение:

Чтобы объяснить больше, я пытаюсь отправить запрос curl на мой сервер/экземпляр gotify. Вот вывод, когда я использую команду gotify cli, gotify initзатем ввожу свой домен с https:// и получаю этот вывод (это происходит для всех моих доменов (когда я запускаю основные команды curl ниже после команды gotify), но просто использую gotify cli в качестве примера того, откуда возникает ошибка):

x509: certificate is not valid for any names, but wanted to match gotify.mydomain.com

Итак, я запускаю эти команды curl, чтобы выяснить, что происходит.

Команда: curl -v https://gotify.mydomain.com Вывод:

* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS alert, unknown CA (560):
* SSL certificate problem: self signed certificate
* Closing connection 0
curl: (60) SSL certificate problem: self signed certificate
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

В моем CApath буквально есть все сертификаты из пакета ca-certificates. И мои внешние сайты используют мой сертификат, но на моем сервере проблемы, и я не знаю почему.

Когда я запускаю эту команду, curl -v --insecure https://gotify.mydomain.comя получаю еще более странные результаты: Вывод:

* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: C=CN; ST=TW; L=TB; O=ASKEY; OU=ROUTER; CN=askey.com; [email protected]
*  start date: Jan  8 18:43:23 2022 GMT
*  expire date: Jan  7 18:43:23 2025 GMT
*  issuer: C=CN; ST=TW; L=TB; O=ASKEY; OU=ROUTER; CN=askey.com; [email protected]
*  SSL certificate verify result: self signed certificate (18), continuing anyway.
> GET / HTTP/1.1
> Host: gotify.mydomain.com
> User-Agent: curl/7.74.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 302 Found
< Location: /1.2.4/login.html
< Content-Length: 0
< Date: Sun, 24 Apr 2022 13:51:04 GMT
< Server: lighttpd/1.4.38
<
* Connection #0 to host gotify.mydomain.com left intact

Понятия не имею, откуда вообще взялся этот "askey" сертификат. Насколько мне известно, его нигде нет на моем сервере. Я в полном замешательстве. Я нахожусь на Тайване, поэтому код TW может иметь некоторый смысл. У меня даже не было удаленного доступа к моему серверу 8 января, поэтому я не знаю, что произошло.

Когда я это вижу, Location: /1.2.4/login.htmlэто заставляет меня думать, что что-то происходит с моим маршрутизатором. Потому что это путь к странице входа администратора моего маршрутизатора.

Связанный контент