2
Почему сертификат не работает для моего IP-адреса в Apache?
У меня есть сайт на Apache, и я пытаюсь настроить для него SSL-сертификат. Когда я захожу на https://192.168.1.1 в Firefox, получаю ошибку:
Websites prove their identity via certificates. Firefox does not trust this site because it uses a certificate that is not valid for 192.168.1.1. The certificate is only valid for 192.168.1.1.
Error code: SSL_ERROR_BAD_CERT_DOMAINЯ создал сертификат для IP 192.168.1.1 через OpenSSL с использованием конфигурационного файла:
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
C = US
ST = NY
L = New York
O = Example
OU = IT
CN = 192.168.1.1
[v3_req]
keyUsage = critical, digitalSignature, keyAgreement
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = 192.168.1.1Я настроил Apache с этим сертификатом. Но при попытке зайти по IP в браузере, Firefox не доверяет сертификату. Что я делаю не так?
Ответы
Михаил Кузьмин
(Изменено)
В случае указания IP, а не DNS браузер будет доверять сертификату только потому, что ты вручную добавил корневой сертификат на своём устройстве. Сертификаты обычно создаются для доменных имён, а не для IP-адресов, поэтому браузеры на других устройствах могут не доверять таким сертификатам по умолчанию, даже если ты правильно укажешь IP в subjectAltName. Такой сертификат для IP-адреса не будет «полностью доверенным» на других устройствах, если они не настроены так же, как твоё.
Антон Сидоров
(Изменено)
Твоя ошибка в том, что для IP-адреса нужно указывать его в секции subjectAltName как IP, а не как DNS. Вот правильная конфигурация:
Сертификат для IP-адреса должен быть указан через IP.1, а не DNS.1. Это должно решить проблему с ошибкой в браузере.