В Nginx я могу установить Активный динамично в зависимости от ssl соединения?

Походит на идеальное задание для Механизма Сетки.

1
задан 27 November 2012 в 09:05
2 ответа

Поскольку кажется, что 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-ответе.

0
ответ дан 3 December 2019 в 21:39

Я почти уверен, что вы можете использовать карту :

map $scheme $myCustomTTL {
   default     90;
   http        90;
   https       60;
}

add_header Keep-Alive timeout=$myCustomTTL;
2
ответ дан 3 December 2019 в 21:39

Теги

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