haproxy + stunnel + активный?

Вам нужен нормальный, и Вы покупаете его в регистраторе. RapidSSL довольно достоин - я использую их. Start.com является бесплатным, и большинство браузеров распознает его, также. Вам нужен нормальный сертификат - не подстановочный знак, нормальный сертификат сервера.

Чтобы отправить данные поставщику кредитной карты, Вам ничто не нужно - у поставщика будет сертификат SSL на его конце, и Вы просто удостоверяетесь, что это допустимо -

Как установить Сервер Ubuntuu 9.10 и Apache 2 - серьезно, если эй uwant для выполнения магазина лучше спрашивают кого-то. Это становится МНОГО слишком низким для кого-то, кто будет иметь дело с кредитными картами, по моему скромному мнению.

10
задан 15 August 2011 в 17:35
4 ответа

Речь идет о HTTP keep-alive, который позволяет нескольким запросам ресурсов проходить через один сеанс TCP (и, с SSL, один сеанс SSL). Это очень важно для производительности SSL-сайта, так как без поддержки активности потребуется подтверждение SSL для каждого запрошенного ресурса.

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


Сеанс проверки активности - это просто несколько запросов, один за другим - как только сервер завершает свой ответ на один запрос, сервер не отправляет пакет FIN для завершения TCP-сессия; клиент может просто отправить еще одну партию заголовков.

Чтобы понять, что делает этот патч, вот пример диалога проверки активности:

Клиент:

GET / HTTP/1.1
Connection: keep-alive
Host: domain.com
...

Сервер:

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Server: Apache
Content-Length: 34
.... (other headers)
<html><head>content!</head></html>

Здесь прекращается подключение без поддержки активности. Но keep-alive позволяет клиенту просто запустить другой:

GET /images/some/image.on.the.page.jpg HTTP/1.1
Connection: keep-alive
Host: domain.com
...

Для идентификатора клиента при проксировании некоторые обратные прокси-серверы могут добавлять в заголовок X-Forwarded-For в каждый запрос клиента. Это сообщает вышестоящему серверу, откуда поступает запрос (вместо каждого запроса, инициируемого с IP-адреса обратного прокси), для корректности ведения журнала и других нужд приложения.

Требуется заголовок X-Forwarded-For вставляться в каждый запрос клиентского ресурса, отправляемый через соединение keep-alive, так как полные заголовки отправляются каждый раз; обработка заголовка X-Forwarded-For и перевод в него как "

12
ответ дан 2 December 2019 в 22:01

Расширяя отличный ответ от Шейна, вы можете использовать Nginx в качестве терминатора SSL перед HAproxy. Он правильно обрабатывает keep-alive между клиентом и nginx, который является наиболее чувствительной к задержке стороной, и устанавливает новое соединение с серверной частью для каждого клиентского запроса, отправляя X-FORWARDED-FOR в каждом из них.

2
ответ дан 2 December 2019 в 22:01

STunnel 4.45 исправляет это должным образом, используя некоторые новые возможности (протокол прокси), поставляемые с HAProxy 1.15

Он также устраняет проблемы с предыдущими патчами и Keep Alive

5
ответ дан 2 December 2019 в 22:01

Подобно тому, что я писал в другом потоке, HAProxy поддерживает собственный SSL с обеих сторон, начиная с версии 1.5-dev12. Таким образом, наличие X-Forwarded-For, HTTP keep-alive, а также заголовка, сообщающего серверу о том, что соединение было выполнено через SSL, очень просто:

listen front
    bind :80
    bind :443 ssl crt /etc/haproxy/haproxy.pem
    mode http
    option http-server-close
    option forwardfor
    reqadd X-Forwarded-Proto:\ https if { is_ssl }
    server srv1 1.1.1.1:80 check ...
    ...

Это намного проще, чем исправление stunnel, и намного лучше, чем необходимость отбрасывать Keep-alive.

3
ответ дан 2 December 2019 в 22:01

Теги

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