прокси nginx, wget, и рысь весь сбой, но openssl s_client и завихрение обе работы

Я пытаюсь создать прокси в nginx, и у меня есть странная проблема. Я пытаюсь создать прокси NGINX, который просто работает и игнорирует каждую проблему сертификата, проблему сертификата, вообразимая штука сертификата. Я просто хочу, чтобы это проксировало трафик независимо от того, как плохо сертификат (и я знаю, что это довольно плохо!)

Это - симпатичное просто nginx конфигурация и если я пробую его против https://www.google.com, я могу проксировать без любой проблемы. Если я пробую его против своего реального сайта, я получаю время ошибка. Сайт также не загрузится у рыси или wget, какие опции я подаю их для игнорирования ошибок сертификата.

Интересная вещь состоит в том, что загрузки сайта, прекрасные в любом типичном браузере и я протестировал wtih IE, Chrome и Firefox. Сайт также загружается прекрасный в openssl s_client и с завихрением. Но nginx, рысь и wget, все думают, что получают неполные данные и или время или или дают ошибки как "Никакие Данные Recieved".

Так как NGINX - то, что я действительно хочу получить работу, вот моя конфигурация:

server {
        listen 443;
        server_name funkytown;
        ssl_certificate           /etc/nginx/cert.crt;
        ssl_certificate_key       /etc/nginx/cert.key;
        ssl on;
        location / {
                proxy_pass https:// 174.47.225.118/;
                #proxy_pass https:// www.google.com;
        }
        location = /favicon.ico {
                return 204;
                access_log     off;
                log_not_found  off;
}
}

nginx.conf является просто значением по умолчанию для nginx версии: nginx/1.4.6 (Ubuntu). Это - совершенно новая установка человечности 14, работающей в AWS. У меня нет причины для этого, сервер является странным в так или иначе.

Если кто-либо может помочь мне выяснить, почему этот простой прокси не работает, Вы будете моим героем! Бонусные очки для кого-либо, который может выяснить, почему этот сайт перестал работать у рыси и wget, но работ в завихрении и openssl.

Заранее спасибо за любую справку!

-3
задан 5 February 2015 в 03:57
1 ответ

В итоге: я вижу несколько проблем на стороне сервера, которые могут привести к проблемам, которые вы видите. Если у вас есть доступ к серверу, попробуйте исправить их там.

Сначала похоже, что стек SSL вашего целевого хоста (174.47.225.118) как бы сломан:

  • Он выполнит успешное рукопожатие, когда SSLv23 с openssl Используется набор шифров ПО УМОЛЧАНИЮ. Это приведет к RC4-MD5 (что плохо из-за RC4) и TLSv1.
  • Если вы используете «ALL» вместо «DEFAULT», он будет использовать DES-CBC3-SHA, что лучше.
  • Но если вы используете используйте 'ALL:! DES-CBC3-SHA', это не удастся. Это странно, потому что этот набор шифров включает RC4-MD5, который успешно использовался раньше.

Именно поэтому это выглядит как сломанный стек, который может работать в некоторых ситуациях, но не работать в других. Но есть еще кое-что:

  • Когда я пытаюсь использовать curl с отключенной проверкой сертификата, он работает и получает ответ HTTP.
  • Когда я пытаюсь использовать wget с отключенной проверкой сертификата, он выполняет успешное рукопожатие SSL и wget отправляет запрос, но затем сервер закрывает соединение после другого подтверждения SSL без отправки ответа (по крайней мере, это выглядит так из захвата пакета).

Если я попытаюсь отправить запрос с помощью s_client , это будет похоже на сервер выполняет повторное согласование сразу после отправки HTTP-запроса и снова отправляет свой сертификат. Я думаю, что это неожиданное поведение сломает некоторых клиентов.

1
ответ дан 5 December 2019 в 21:59

Теги

Похожие вопросы