Вам нужен нормальный, и Вы покупаете его в регистраторе. RapidSSL довольно достоин - я использую их. Start.com является бесплатным, и большинство браузеров распознает его, также. Вам нужен нормальный сертификат - не подстановочный знак, нормальный сертификат сервера.
Чтобы отправить данные поставщику кредитной карты, Вам ничто не нужно - у поставщика будет сертификат SSL на его конце, и Вы просто удостоверяетесь, что это допустимо -
Как установить Сервер Ubuntuu 9.10 и Apache 2 - серьезно, если эй uwant для выполнения магазина лучше спрашивают кого-то. Это становится МНОГО слишком низким для кого-то, кто будет иметь дело с кредитными картами, по моему скромному мнению.
Речь идет о 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
и перевод в него как "
Расширяя отличный ответ от Шейна, вы можете использовать Nginx в качестве терминатора SSL перед HAproxy. Он правильно обрабатывает keep-alive между клиентом и nginx, который является наиболее чувствительной к задержке стороной, и устанавливает новое соединение с серверной частью для каждого клиентского запроса, отправляя X-FORWARDED-FOR в каждом из них.
STunnel 4.45 исправляет это должным образом, используя некоторые новые возможности (протокол прокси), поставляемые с HAProxy 1.15
Он также устраняет проблемы с предыдущими патчами и Keep Alive
Подобно тому, что я писал в другом потоке, 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.