Jump to content

Apache, SSL - как отключить ошибки в логах на несовпадение CN?

Есть веб-сервер с самоподписанным сертификатом.

В сертификате прописано CN="My Server", а также прописан altSubject для доменного имени сервера.

В современных браузерах все работает, каких-либо предупреждений они на предмет несовпадения имени домена не пишут.

Но в логах апача есть ошибки:

[warn] RSA server certificate CommonName (CN) `My Server' does NOT match server name!?

Как бы от них избавиться?

Share this post


Link to post
Share on other sites

Нормальный это какой?

В котором доменное имя прописано в CN?

Помоему сейчас так делать не рекомендуют.

И кроме того, у меня два домена и сервер должен работать по обоим адресам.

Share this post


Link to post
Share on other sites

Ну, по большому счету, грустная новость в том, что он будет всегда трепаться в логе, если (далее цитата):

 

....
if (SSL_X509_getCN(ptemp, cert, &cn)) {
....
 if (strNE(s->server_hostname, cn)) {
    ap_log_error(APLOG_MARK, APLOG_WARNING, 0, s,
              "%s server certificate CommonName (CN) `%s' "
              "does NOT match server name!?",
               ssl_asn1_keystr(type), cn);
 }
}

 

Подход в лоб - как только хостнаме не равен соммон наме, так сразу сообщаем об этом в лог.

 

Теперь по поводу самого сертификата. Честно говоря, я не слышал того, что теперь не рекомендуют в CN записывать домен. Ну и особо и не слежу за новостями. Может есть какая ссылка? Все, что попадается в сети, требует в CN писать домен.

 

Единственное, что рекомендуют настойчиво, ежели добавляете альтернативный-нейм, то там обязательно надо повторить CN в списке altName. Есть клиенты (якобы), которые только увидев альтернативные имена, сразу игнорит CN.

 

Что касается вообще сертификатов, то, чисто мое мнение - создавать сертификат с альтернативными именами имеет смысл только в том случае, если вы покупаете его для нескольких сайтов. Если вы работаете с собственными сертификатами, то что мешает поступить более "грамотно" - сделать свой root CA, и при помощи его подписывать такое количество отдельных сертификатов для каждого сайта (включая и заход по IP), сколько нужно? А клиентам предложить установить у себя этот CA сертификат, и не иметь больше проблем.

 

Еще можно сделать wildcard CN *.domain.name Хотя, апач и на это будет ругаться.

 

Ну и радикальный вариант - в коде апачи закомментировать кусок, приведенный выше, и рекомпильнуть сервер.

Edited by vop

Share this post


Link to post
Share on other sites

Вообщем я в ServerName прописал имя сервера "My Server", в ServerAlias прописал доменные имена.

В сертификате в CN указано имя сервера "My Server", в altName указаны доменные имена.

В логах ошибок нет, сайт без каких-либо ошибок открылся в IE11, в Хроме, в старой Опере и в Файрфоксе.

 

Если вы работаете с собственными сертификатами, то что мешает поступить более "грамотно" - сделать свой root CA, и при помощи его подписывать такое количество отдельных сертификатов для каждого сайта (включая и заход по IP)

А разве Апач умеет назначать разные сертификаты на разные сайты, которые размещаются на одном IP-адресе?

Share this post


Link to post
Share on other sites

Вообщем я в ServerName прописал имя сервера "My Server", в ServerAlias прописал доменные имена.

В сертификате в CN указано имя сервера "My Server", в altName указаны доменные имена.

В логах ошибок нет, сайт без каких-либо ошибок открылся в IE11, в Хроме, в старой Опере и в Файрфоксе.

 

Тоже трик, как вариат. :) Апача ServerName не проверяет на корректность. :)

 

А разве Апач умеет назначать разные сертификаты на разные сайты, которые размещаются на одном IP-адресе?

 

На каждый IP и домен (на каждый вход) делается virtualhost со своим сертификатом. Большинство софта поддерживает ныне CNI. А тот софт, который не поддерживает, один фиг.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.