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

Apache выдает множество ошибок, связанных только с SSL, хотя данные в браузере кажутся нормальными

Я установил самозаверяющий SSL-сертификат для веб-сайта, который я запускаю на localhost. Кажется, что данные, поступающие в браузер, являются полными и правильными как для версий SSL, так и для версий без SSL, но я получаю много сообщений об ошибках apache, которые, кажется, указывают на обратное.

Когда я нажимаю кнопку "Обновить", я сразу получаю в журнале пару таких строк.

AH01964: Connection to child 0 established

Также дочерние элементы 2, 6, 4 и т. Д. Могут появляться в произвольном порядке.

В течение следующих нескольких секунд я получаю несколько таких

(70014)End of file found: [client 127.0.0.1:32839] AH01991: SSL input filter read failed.
[client 127.0.0.1:32840] AH01382: Request header read timeout

Я предполагаю, что множественность этих строк связана со скриптами, css и т. Д., Потому что если я перейду в «Просмотр исходного кода» и обновлю который окно, я получаю одно из этих

AH01964: Connection to child 4 established

...и ничего больше. Все это происходит только для https-соединений. Журнал http молчит.

Что-нибудь фактически неправильно? Я повторяю, кажется, что контент обслуживается полностью и правильно, что, кажется, противоречит формулировкам в журнале «ошибка чтения» и «тайм-аут». Эти ошибки просто шум или мне нужно что-то исправить?

Если это просто безобидный шум, как мне их выключить?


Вот как я все настроил. (Я получил этот процесс по частям из различных руководств, не понимая его полностью.)

В / etc / hosts у меня есть

127.0.0.1 x.com

Я создал самоподписанный сертификат ssl с помощью следующего скрипта

openssl genrsa -des3 -out x.com.key 2048
openssl req -new -key x.com.key -out x.com.csr
cp x.com.key x.com.key.org
openssl rsa -in x.com.key.org -out x.com.key
openssl x509 -req -days 3650 -in x.com.csr -signkey x.com.key -out x.com.crt
chmod 400 x.com.{key,crt,csr}
sudo chown www-data x.com.{key,crt,csr}
sudo mv x.com.{key,crt,csr} /path/to/website/

Во время этого процесса я ввожу

Common Name (e.g. server FQDN or YOUR name) []:x.com

У меня есть как <VirtualHost x.com:80> и <VirtualHost x.com:443> настраивается в sites-enabled / 000-default.conf, и разница между ними заключается в следующем разделе:

SSLEngine on
SSLCertificateFile /path/to/website/x.com.crt
SSLCertificateKeyFile /path/to/website/x.com.key
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
CustomLog ${APACHE_LOG_DIR}/x.com.ssl.log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

И вот что у них общего:

LogLevel info

Как уже говорили другие, эти сообщения регистрируются, потому что ваш LogLevel установлен на info. Если вам не нужны эти конкретные сообщения, но вы все равно хотите info журналы уровня, вы можете перенастроить это в конфигурации apache:

LogLevel info ssl:warn

Этот вопрос выглядит так же, как вот этот, который, очевидно, я обнаружил при диагностике того же самого.

Проблема вызвана установкой VirtualHost вместо IP-адреса на основе имени (или группового символа). Проблема в том, что доменное имя передается на веб-сервер только после того, как соединение установлено, и на этом этапе соединение SSL / TLS уже должно быть активным, поэтому серверу необходимо выбрать правильный ключ SSL на основе минимально доступной информации и это IP-адрес этого виртуального хоста.

Более подробная информация и примерная информация о конфигурации приведены на Веб-сайт Apache, но в основном вы хотите изменить <VirtualHost x.com:443> к <VirtualHost 1.2.3.4:443> где это использует IP-адрес для этого хоста / интерфейса.

LogLevel info скорее всего, причина, и он определенно выглядит как безобидный шум.

Любая конкретная причина, по которой вам нужно, чтобы ведение журнала было таким подробным, или вы можете вернуть его к чему-то вроде notice или warn?

Проверьте свои конфигурации в системе контроля версий: rcs http://pages.cs.wisc.edu/~plonka/sysadmin/article.html

cd / etc /

rcs -ci * .cnf,config,.conf