Eu tenho 3 sites, domain1.com, domain2.com e domain3.com.
domain1.com não tem ssl
domain2.com é apenas um redirecionamento para o domínio1
domain3.com requer SSL
Aqui estão minhas configurações:
domain1.nginx
upstream domain1 {
server localhost:3009;
}
server {
listen 80;
server_name www.domain1.com
return 301 http://domain1.com$request_uri;
}
server {
root /domain1/priv/static;
listen 80;
server_name domain1.com;
location / {
proxy_pass http://domain1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
domain2.nginx
server {
server_name www.domain2.com domain2.com;
return 301 http://domain1.com$request_uri;
}
domain3.nginx
upstream domain3 {
server localhost:3019;
}
server {
listen 80;
server_name www.domain3.com domain3.com;
return 301 https://domain3.com$request_uri;
}
server {
root /domain3/priv/static;
listen 443 ssl;
server_name domain3.com;
ssl_certificate /etc/letsencrypt/live/domain3.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain3.com/privkey.pem;
location / {
proxy_pass http://domain3;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
O que realmente acontece:
domain1.com funciona bem
www.domain2.com e domain2.com redirecionam para domain1.com perfeitamente bem
www.domain1.com redireciona para domain3.com quando deve ir apenas para domain1.com
domain3.com redireciona para domain1.com quando deve redirecionar para a versão ssl de domain3.com
www.domain3.com redireciona para a versão ssl de domain3.com fine
O que estou fazendo de errado?
Aqui está uma essência com algumas configurações ligeiramente diferentes, mas tem o mesmo problema: link