Назад | Перейти на главную страницу

Несоответствие конфигурации файла Apache httpd conf

Я столкнулся с странной проблемой с последних 3 дней; Я сделал все, что от меня требовалось, прежде чем разместить здесь свой вопрос.

Мой httpd.conf выглядит так:

NameVirtualHost *:443
Listen *:443
<VirtualHost server1.example.com:443>
ServerName server1
#ServerName server1.example.com
SSSLEngine on
</VirtualHost>

SSL применяется на server1.example.com, однако после всего, когда мы заходим на веб-сайт, он работает только на ServerName server1, а не на ServerName server1.example.com. У нас нет server1 ни в одном из конфигурационных и сетевых файлов.

Итак, когда мы это сделаем https://server1.example.com/xyz/ --- он работает с ServerName server1, но не работает с ServerName server1.example.com.

В чем проблема? Я не понимаю. / etc / hosts, / etc / sysconfig / network, нигде у нас нет server1; даже в DNS тоже.

Пожалуйста, предложите.

Вот что мы получаем в журнале ошибок:

[Thu Nov 24 11:40:14 2016] [warn] RSA server certificate CommonName (CN) `server1.example.com' does NOT match server name!?
[Thu Nov 24 11:40:14 2016] [notice] Digest: generating secret for digest authentication ...
[Thu Nov 24 11:40:14 2016] [notice] Digest: done
[Thu Nov 24 11:40:14 2016] [notice] SSL FIPS mode disabled
[Thu Nov 24 11:40:14 2016] [warn] RSA server certificate CommonName (CN) `server1.example.com' does NOT match server name!?
[Thu Nov 24 11:40:14 2016] [notice] Apache/2.2.3 (Red Hat) configured -- resuming normal operations
[Thu Nov 24 11:49:47 2016] [notice] caught SIGTERM, shutting down
[Thu Nov 24 11:49:47 2016] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Nov 24 11:49:47 2016] [notice] SSL FIPS mode disabled
[Thu Nov 24 11:49:47 2016] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Thu Nov 24 11:49:47 2016] [warn] RSA server certificate CommonName (CN) `server1' does NOT match server name!?
[Thu Nov 24 11:49:47 2016] [notice] Digest: generating secret for digest authentication ...
[Thu Nov 24 11:49:47 2016] [notice] Digest: done
[Thu Nov 24 11:49:47 2016] [notice] SSL FIPS mode disabled
[Thu Nov 24 11:49:47 2016] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Thu Nov 24 11:49:47 2016] [warn] RSA server certificate CommonName (CN) `server1' does NOT match server name!?
[Thu Nov 24 11:49:47 2016] [notice] Apache/2.2.3 (Red Hat) configured -- resuming normal operations
[Thu Nov 24 11:55:19 2016] [notice] caught SIGTERM, shutting down
[Thu Nov 24 11:55:20 2016] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Nov 24 11:55:20 2016] [notice] SSL FIPS mode disabled
[Thu Nov 24 11:55:20 2016] [warn] RSA server certificate CommonName (CN) `server1.example.com' does NOT match server name!?
[Thu Nov 24 11:55:20 2016] [notice] Digest: generating secret for digest authentication ...
[Thu Nov 24 11:55:20 2016] [notice] Digest: done
[Thu Nov 24 11:55:20 2016] [notice] SSL FIPS mode disabled
[Thu Nov 24 11:55:20 2016] [warn] RSA server certificate CommonName (CN) `server1.example.com' does NOT match server name!?
[Thu Nov 24 11:55:20 2016] [notice] Apache/2.2.3 (Red Hat) configured -- resuming normal operations

Пытаться

<VirtualHost *:443>
ServerName server1.example.com
ServerAlias server1
SSLEngine on
</VirtualHost>

Вам нужен подстановочный знак в VirtualHost оператор для отключения сопоставления виртуальных хостов на основе IP. http://httpd.apache.org/docs/2.4/vhosts/name-based.html


Обратите внимание на фиксированную линию (SSLEngine вместо того SSSLEngine).

Попробуйте изменить свою конфигурацию на это:

NameVirtualHost *:443
Listen *:443
<VirtualHost *:443>
ServerName server1.example.com
ServerAlias server1
SSSLEngine on
</VirtualHost>

Я стараюсь избегать использования имен хостов в директиве VirtualHost. Если DNS или какой-либо аспект процесса поиска имени хоста прерывается, либо на вашем сервере, либо на DNS-серверах ваш сервер указывает / использует, и Apache не может определить, что server1.example.com принимает значение при первоначальном запуске, он не загружает конфигурацию виртуального хоста.

Во-вторых, ServerName - это строка, представленная на страницах с ошибками (404 не найдена, внутренняя ошибка 500 и т. д.) и «основное имя» для вашего веб-сайта, поэтому я предпочитаю использовать полное имя хоста для ServerName. Если мне нужно, чтобы сайт был доступен по другим именам, я добавляю их (одно или несколько), используя ServerAlias директива (у вас может быть несколько строк ServerAlias или дайте более одного имени каждому ServerAlias линия).

Но поскольку это SSL, я очень подозреваю, что вы обнаружите несоответствие сертификата при доступе через server1, хотя это должно работать, если вы игнорируете предупреждения системы безопасности браузера.

ServerName server1.example.com
ServerAlias server1