Поскольку кажется, что keepalive_timeout
нельзя использовать с параметрами, а только с фиксированными значениями, другим решением будет использование nginx
в качестве конечной точки SSL.
Ваши запросы SSL будут обрабатываться определенным блоком сервера {}
, который будет управлять только подтверждением SSL и определенным значением Keep-Alive
, а затем пересылать простой HTTP запрос к главному блоку сервера {}
.
Ваша конфигурация nginx
будет включать что-то вроде следующего:
upstream plain_http {
server 127.0.0.1:80;
}
server {
listen 443;
server_name *.yourdomain.com;
ssl on;
ssl_certificate /etc/nginx/ssl/mycert.pem;
ssl_certificate_key /etc/nginx/ssl/mykey.key;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM;
ssl_prefer_server_ciphers on;
keepalive_timeout 90;
location / {
proxy_pass http://plain_http;
proxy_redirect http:// https://;
}
}
Директива proxy_redirect
сообщает nginx
для перезаписи URI из заголовков Location
и Refresh
в обычном HTTP-ответе.