我有以下 nginx.conf:
events {
worker_connections 4096; ## Default: 1024
}
http {
server {
listen 443 ssl default_server;
server_name www.artelazer.com.br artelazermoveis.com.br;
ssl_certificate /var/webapps/loja/fullchain.pem;
ssl_certificate_key /var/webapps/loja/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8081;
}
}
server {
listen 443 ssl;
server_name www.alexalonso.com.br alexalonso.com.br;
ssl_certificate /var/webapps/alexalonso/fullchain.pem;
ssl_certificate_key /var/webapps/alexalonso/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8082;
}
}
server {
listen 80;
server_name www.alexalonso.com.br alexalonso.com.br artelazermoveis.com.br www.artelazermoveis.com.br;
return 301 https://$server_name$request_uri;
}
}
我希望它做的是:每次请求到达端口 80 时,将其重定向到 https。它实际在做什么:当我尝试访问http://alexalonso.com.br,它按预期工作,重定向到https://alexalonso.com.br
。但是当我尝试访问 artelazermoveis.com.br 时,它会重定向到https://alexalonso.com.br
。
这是我第一次接触 Nginx,如果有人能帮助我会很高兴!
答案1
$server_name
扩展为服务器定义的(第一个)名称,而不是请求的主机名。$host
如果请求未指定,则默认为 server_name。