Проблема с HTTPS на Nginx

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
tr00per
проходил мимо
Сообщения: 3
Зарегистрирован: 2017-02-06 12:08:35

Проблема с HTTPS на Nginx

Непрочитанное сообщение tr00per » 2017-02-06 12:15:21

Доброго дня, коллеги.
Для начала краткое описание системы.
Есть домен domain.tld и множество поддоменов subdomains.domain.tld. Все A-записи в ДНС указывают на один и тот же IP a.b.c.d.
Возникла потребность отдавать один поддомен по https - скажем secure.domain.tld. При этом все остальные поддомены и основной домен должны быть доступны только по http.
Добавил для этого конфиг с сертификатом только для этого поддомена, после чего все остальные поддомены и основной домен стали доступны по https с невалидным сертификатом.
Nginx используется в качестве reverse proxy для приложения на IIS.
Собственно вопрос - почему так происходит и что я сделал не так? Помогите, плиз, разобраться.

Заранее спасибо.

nginx -V:

Код: Выделить всё

nginx version: nginx/1.7.7 
built by gcc 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) 
TLS SNI support enabled 
Конфиги
domain.tld + subdomains.domain.tld:

Код: Выделить всё

server { 
listen 80; 
server_name domain.tld; 
root /var/www; 
gzip on; 
gzip_disable "msie6"; 
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; 
include /etc/nginx/custom.conf.d/headers.conf; 

location = /SomeFolder/ { 
proxy_connect_timeout 3600; 
proxy_send_timeout 3600; 
proxy_read_timeout 3600; 
send_timeout 3600; 
proxy_pass http://app-01; 
} 
location ~* ^authors$ { 
try_files $uri @addslash; 
} 
location @addslash { 
return 301 $uri/; 
} 
location / { 
error_page 404 /40x.html; 
error_page 500 502 503 504 @maintenance; 
include /etc/nginx/custom.conf.d/cache.conf; 
include /etc/nginx/custom.conf.d/rewrite.conf; 
proxy_pass http://webfarm; 
} 
location /40x.html { 
root /var/www; 
} 
location @maintenance { 
rewrite ^(.*)$ /50x.html break; 
} 
} 

server { 
listen 80; 
server_name www.domain.tld; 
return 301 http://domain.tld$request_uri; 
} 

server { 
listen 80; 
server_name ~^(?<subdomain>.+)\.domain\.tld$; 
gzip on; 
gzip_disable "msie6"; 
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; 
include /etc/nginx/custom.conf.d/headers.conf; 
location / { 
error_page 500 502 503 504 @maintenance; 
proxy_pass http://webfarm; 
} 
location @maintenance { 
rewrite ^(.*)$ /50x.html break; 
} 
} 
secure.domain.tld:

Код: Выделить всё

server { 
listen 443 ssl; 
server_name secure.domain.tld; 
ssl_certificate /etc/ssl/certs/secure_domain_tld/secure_domain_tld.pem; 
ssl_certificate_key /etc/ssl/private/secure_domain_tld.key; 
ssl_session_cache shared:SSL_secure_domain_tld:20m; 
ssl_session_timeout 180m; 

ssl_prefer_server_ciphers on; 
ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5; 
ssl_dhparam /etc/ssl/dhparams_2048.pem; 
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
add_header Strict-Transport-Security "max-age=31536000" always; 
include /etc/nginx/custom.conf.d/headers.conf; 
location / { 
proxy_pass http://app-01/some_dir/some_subdir/script.aspx; 
} 
} 
nginx.conf:

Код: Выделить всё

user www-data; 
worker_processes 8; 
worker_rlimit_nofile 2048; 
error_log /var/log/nginx/error.log notice; 
pid /var/run/nginx.pid; 
events { 
worker_connections 2048; 
multi_accept on; 
use epoll; 
} 
http { 
include /etc/nginx/mime.types; 
default_type application/octet-stream; 
log_format main '$remote_addr - $remote_user [$time_local] $status ' '<<< UPSTREAM: $upstream_addr >>> ' '"$request" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; 
server_tokens off; 
sendfile on; 
tcp_nopush on; 
keepalive_timeout 65; 
tcp_nodelay on; 
gzip off; 
include /etc/nginx/conf.d/*.conf; 
include /etc/nginx/sites-enabled/*; 
geoip_city /etc/nginx/GeoIPCity.dat; 
access_log off; 
rewrite_log off; 
push_stream_shared_memory_size 1500m; 
push_stream_max_channel_id_length 200; 
push_stream_max_messages_stored_per_channel 2000; 
push_stream_message_ttl 10m; 
push_stream_ping_message_interval 10s; 
push_stream_subscriber_connection_ttl 15m; 
push_stream_longpolling_connection_ttl 5m; 
push_stream_timeout_with_body off; 
push_stream_authorized_channels_only off; 
push_stream_allowed_origins "*"; 
push_stream_wildcard_channel_prefix "broad_"; 
push_stream_wildcard_channel_max_qtd 3; 
push_stream_message_template "{\"id\":~id~,\"channel\":\"~channel~\",\"text\":\"~text~\", \"tag\":\"~tag~\", \"time\":\"~time~\", \"eventid\":\"~event-id~\"}"; 
}

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Проблема с HTTPS на Nginx

Непрочитанное сообщение skeletor » 2017-02-06 16:18:56

А невалидный сертификат, на который идёт ругань на другие домены выдан на secure.domain.com?

tr00per
проходил мимо
Сообщения: 3
Зарегистрирован: 2017-02-06 12:08:35

Проблема с HTTPS на Nginx

Непрочитанное сообщение tr00per » 2017-02-06 17:06:18

skeletor писал(а):А невалидный сертификат, на который идёт ругань на другие домены выдан на secure.domain.com?
Да, все верно.

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Проблема с HTTPS на Nginx

Непрочитанное сообщение skeletor » 2017-02-06 17:12:45

Попробуйте curl'ом запросить домены, возможно браузер что-то закешировал.

tr00per
проходил мимо
Сообщения: 3
Зарегистрирован: 2017-02-06 12:08:35

Проблема с HTTPS на Nginx

Непрочитанное сообщение tr00per » 2017-02-06 17:19:15

skeletor писал(а):Попробуйте curl'ом запросить домены, возможно браузер что-то закешировал.
Уже проверял - проблема не в этом.