Ответ по имени и порту не указанному в server
Edward Gaba
nginx-forum на forum.nginx.org
Вс Апр 15 17:51:53 UTC 2018
Доброго!
Ситуация:
nginx 1.12.2 (gentoo)
На сервере (1 ip адрес) несколько доменов.
конфиги каждого домена в своем файле, подключаются через include
/etc/nginx/sites-enabled/*.conf;
Для некоторых доменов настроен SSL, а другие без SSL.
Суть в том, что все домены без SSL (слушают только порт 80, части конфига с
SSL нет) отвечают на SSL порту, с сертификатом другого домена.
Вот пример, domain1 отвечает на https и отображает контент domain2 с
сертификатом domain2.
Как это возможно и как исправить? Не могу понять, в чем ошибка.
Полные 2 конфига:
########### DOMAIN1.RU ##########
server {
listen 80;
set $root_path '/var/www/sites/gaba/www/domain1.ru/www';
set $root_php_chroot '/www/domain1.ru/www';
root $root_path;
server_name domain1.ru n.domain1.ru www.domain1.ru;
if ($host = 'n.domain1.ru') {
rewrite ^/(.*)$ http://domain1.ru/$1 permanent;
}
if ($host = 'www.domain1.ru') {
rewrite ^/(.*)$ http://domain1.ru/$1 permanent;
}
access_log /var/www/sites/gaba/logs/domain1.ru_access.log;
error_log /var/www/sites/gaba/logs/domain1.ru_error.log;
index index.php index.html index.htm default.html default.htm;
add_header X-Frame-Options "ALLOW-FROM: webvisor.com";
location / {
root $root_path;
try_files $uri @dmrewrite;
}
location @dmrewrite {
include /var/www/sites/gaba/www/domain1.ru/www/rewrite.dat;
}
##### Pagespeed config #####
pagespeed LoadFromFile "http://domain1.ru/themes/dm/"
"/var/www/sites/gaba/www/domain1.ru/www/themes/dm/";
pagespeed LoadFromFile "http://domain1.ru/plugins/ratings/"
"/var/www/sites/gaba/www/domain1.ru/www/plugins/ratings/";
pagespeed LoadFromFile "http://domain1.ru/plugins/tags/"
"/var/www/sites/gaba/www/domain1.ru/www/plugins/tags/";
pagespeed LoadFromFile "http://domain1.ru/plugins/search/"
"/var/www/sites/gaba/www/domain1.ru/www/plugins/search/";
pagespeed LoadFromFile "http://domain1.ru/js/"
"/var/www/sites/gaba/www/domain1.ru/www/js/";
pagespeed LoadFromFile "http://domain1.ru/images/"
"/var/www/sites/gaba/www/domain1.ru/www/images/";
pagespeed LoadFromFileRuleMatch disallow \.*;
pagespeed LoadFromFileRuleMatch allow \.(css|js|jpg|jpeg|png)$;
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
add_header "" "";
}
location ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
location /ngx_pagespeed_global_statistics { allow 127.0.0.1; deny all; }
location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
##### Pagespeed config end #####
location ~*
^.+\.(jpg|jpeg|gif|png|svg|swf|flv|js|ico|css|mp3|ogg|mpe?g|avi|zip|tgz|gz|bz2?|rar|doc|xls|rtf|pdf|exe|ppt|txt|tar|mid|midi|wav|html|htm)$
{
root $root_path;
access_log off;
expires 15d;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
# set root path for php-fpm in chroot mode
root $root_php_chroot;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
fastcgi_intercept_errors on;
}
location ~ \.(htpasswd|htaccess|tpl|dat|sqlite|svn|git)$ {
deny all;
}
autoindex off;
}
########## DOMAIN2.RU ##############
server{
listen 80;
server_name www.domain2.ru domain2.ru;
return 301 https://domain2.ru$request_uri;
}
server {
listen 443 ssl http2;
set $root_path '/var/www/sites/gaba/www/domain2.ru/www';
set $root_php_chroot '/www/domain2.ru/www';
root $root_path;
server_name domain2.ru;
if ($host = 'www.domain2.ru') {
rewrite ^/(.*)$ https://domain2.ru/$1 permanent;
}
ssl_certificate /etc/letsencrypt/live/domain2.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain2.ru/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/domain2.ru/chain.pem;
resolver 127.0.0.1 8.8.8.8 valid=300s;
resolver_timeout 5s;
ssl_stapling on;
ssl_stapling_verify on;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:RSA+3DES:!NULL:!RC4;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
add_header Strict-Transport-Security "max-age=31536000";
access_log /var/www/sites/gaba/logs/domain2.ru_access.log;
error_log /var/www/sites/gaba/logs/domain2.ru_error.log;
index index.php index.html index.htm;
add_header X-Frame-Options "ALLOW-FROM: webvisor.com";
location / {
root $root_path;
try_files $uri @a2r;
}
location @a2r {
include /var/www/sites/gaba/www/domain2.ru/www/rewrite.dat;
}
location ~ /.well-known {
allow all;
root $root_path;
}
##### Pagespeed config #####
pagespeed LoadFromFile "https://domain2.ru/themes/a2r/"
"/var/www/sites/gaba/www/domain2.ru/www/themes/a2r/";
pagespeed LoadFromFile "https://domain2.ru/js/"
"/var/www/sites/gaba/www/domain2.ru/www/js/";
pagespeed LoadFromFile "https://domain2.ru/modules/fileAPI/css/"
"/var/www/sites/gaba/www/domain2.ru/www/modules/fileAPI/css/";
pagespeed LoadFromFileRuleMatch disallow \.*;
pagespeed LoadFromFileRuleMatch allow \.(css|js)$;
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
add_header "" "";
}
location ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
location /ngx_pagespeed_global_statistics { allow 127.0.0.1; deny all; }
location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
##### Pagespeed config end #####
location ~*
^.+\.(jpg|jpeg|gif|png|svg|swf|flv|js|ico|css|mp3|ogg|mpe?g|avi|zip|tgz|gz|bz2?|rar|doc|xls|rtf|pdf|exe|ppt|txt|tar|mid|midi|wav|woff|woff2|html|htm)$
{
root $root_path;
access_log off;
expires 8d;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
# set root path for php-fpm in chroot mode
root $root_php_chroot;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
fastcgi_intercept_errors off;
}
location ~ \.(htpasswd|htaccess|tpl|dat|sqlite|svn|git)$ {
deny all;
}
autoindex off;
}
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,279446,279446#msg-279446
Подробная информация о списке рассылки nginx-ru