Apache modssl возвращает случайные нежелательные 200, а не 404

У меня довольно простая конфигурация apache 2.4.7 на CentOS 6.5 Linux и активный веб-сервер. Нет PHP или CGI, только некоторые статические страницы и proxypass для другого уровня сервера.

Я занимаюсь определением безопасности и намеренно отправляю неверные данные в виде URL-адресов с ~ именами пользователей, которых нет. Я ожидаю получить ошибку 405.

 Метод HTTP / 1.1 405 не разрешен
 Дата: Пт, 27 Фев 2015 21:28:51 GMT
 Сервер: Apache-Coyote / 1.1
 X-Frame-Options: SAMEORIGIN
 Разрешить: GET, DELETE, POST, PUT
 X-Frame-Options: SAMEORIGIN

И это то, что я получаю в 90-95% случаев. Но около 1 из 20-30 попыток получает код возврата 200 с пустой пустой страницей.

 200 27 / фев / 2015: 21: 02: 50
 HTTP / 1.1 200 OK
 Дата: Пт, 27 Фев 2015 21:28:50 GMT
 Сервер: Apache
 X-Frame-Options: SAMEORIGIN
 Контент-длина: 1

Если бы это была простая проблема с конфигурацией, я ожидал бы, что каждый вызов либо сработает, либо не сработает, а не на 3-5%.

Я вижу это только на порту SSL, порт http также настроен (хотя и не открыт для публики), и он НЕ показывает ту же проблему. Я могу отправить сотни звонков, хотя http без ошибок, но получить по крайней мере один или два каждые 50 вызовов, так на https.

Некоторые из тестов, которые я уже пробовал безуспешно, следующие:

Журналы сообщают только о том, что отправлено 405 или 200, но нет явной разницы в URL-адресе. Или любые ошибки.

Устраните любые входящие проблемы брандмауэра, попробовав вызов локального loopback, та же проблема.

Устраните проблему с исходящим балансировщиком нагрузки, позвонив напрямую через прокси-соединение. Мое рассуждение для этого теста, нет ничего в этом уровне уровне, чтобы обрабатывать ~ имена пользователей и, вероятно, игнорируется и передается с помощью прокси-сервера подстановки на следующий уровень. Следующий слой слоя отлично реагирует. Никаких ошибок даже с сотнями вызовов в тестовом взлете.

Ran-те же тесты в среде разработки, которые настроены точно так же (образ AWS одинаковый, так что различия только в IP-адресах) Нет ошибок, поэтому объем в производстве может быть выпущен, но не очень полезен. Сервер в настоящее время составляет около 5-10 ударов в секунду с короткими зазорами до 25. Загрузка процессора составляет от 0,00 до 0,02 с более чем 2G свободной памяти 7G и отсутствие проблем с диском.

Я не хочу публиковать полный файл конфигурации здесь, но это довольно ваниль с соответствующими частями чтения VirtualHost. (URL-адрес изменен, чтобы защитить невинных и держать stackexchange от мысли, что они являются ссылками)


 Слушать 443
 SSLCipherSuite *** УДАЛЕНО ***
 SSLHonorCipherOrder on
 SSLSessionCache "shmcb: / opt / httpd / logs / ssl_scache (512000)"
 SSLSessionCacheTimeout 300
 SSLProtocol ALL -SSLv2 -SSLv3 + TLSv1 + TLSv1.1 + TLSv1.2
 SSLCompression Off




 SSLEngine on
 SSLCertificateFile *** REDACTED ***
 SSLCertificateKeyFile *** REDACTED ***
 SSLCertificateChainFile *** УДАЛЕНО ***

 BrowserMatch "MSIE [2-5]" \
          nokeepalive ssl-unclean-shutdown \
          downgrade-1.0 force-response-1.0
 CustomLog "/ opt / httpd / logs / ssl_request_log" \
           "% t% h% {SSL_PROTOCOL} x% {SSL_CIPHER} x \"% r \ "% b"

  Отказаться, разрешить
  Разрешить от всех

 SSLProxyEngine on


 ProxyPass / terms!
 ProxyPass / static!
 ProxyPass / images!
 ProxyPass / terms_ccm!
 ProxyPass / pay / https: //pay.ACME.COM/payment/
 ProxyPassReverse / payment / https: //pay.ACME.COM/payment/
 ProxyPass / http: //mbg.ACME.COM/mobgate/
 ProxyPassReverse http: //mbg.ACME.com/mobgate /

Interesting Posts
Linux и Unix - лучшая ОС в мире.