У меня два сайта с SSL на NGINX.
когда
curl -I https://www.1111.com answer: https://1111.com
Но когда
curl -I https://www.2222.com answer: https://1111.com
curl -I https://2222.com answer https://2222.com
В nginx.conf я пытаюсь изменить последовательность / import * .conf, и когда я устанавливаю 2222.com до 1111.com>, отвечаю, изменяя обратное.
1111.conf
server {
listen 80;
server_name 1111.com www.1111.com;
return 301 https://1111.com;$request_uri;
}
server {
listen 443 ssl http2;
server_name 1111.com;
root /usr/share/nginx/1111.com;
index index.php;
...
2222.conf похож на
Как я могу перенаправить все https: // www. * И http: // www. * На этом веб-сайте, а не на другом?
Да! Правый конфиг:
server {
listen 80;
server_name site.ru www.site.ru;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443 ssl http2;
include ssl/ssl_site.ru;
server_name www.site.ru;
rewrite ^(.*) https://site.ru$1 permanent;
}
server {
listen 443 ssl http2;
server_name site.ru;
include ssl/ssl_site.ru;
... other config string ...
Это маленький хитрый человек, но, конечно, вы справитесь.
map $http_host $new {
'www.abc.com' '1';
'www.xyz.com' '2';
}
server {
listen 80 default_server;
listen [::]:80 default_server;
if ($http_x_forwarded_proto != 'https') {
rewrite ^(.*) https://$host$1 redirect;
}
}
server {
if ($new != '1') {
server_name www.xyz.com;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /etc/ssl/certs/s2.pem;
ssl_certificate_key /etc/ssl/certs/s2.key;
root /var/www/html/site2;
index index.html index.htm index.nginx-debian.html;
location / {
}
}
if ($new != '2') {
server_name www.abc.com;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /etc/ssl/certs/s1.pem;
ssl_certificate_key /etc/ssl/certs/s1.key;
root /var/www/html/site1;
index index.html index.htm index.nginx-debian.html;
location / {
}
}
}
Это может быть точный ответ для получения дополнительной информации и чтения модулей карты Nginx R&C.