我最近安装了LetsEncrypt SSL证书,该证书在我的主域上运行良好,但我还有其他子域设置为虚拟主机。但是,子域的所有流量现在都被重定向到https,这会导致浏览器抱怨隐私。
我的主域名nginx配置如下:
server { │
listen 80; │
server_name domain.com www.domain.com; │
return 301 https://$server_name$request_uri; │
} │
│
server { │
# Basic configuration │
listen 443 ssl; │
server_name domain.com www.domain.com; │
passenger_enabled on; │
passenger_app_env development; │
root /home/user/path_to_app/public; │
│
# Required for LetsEncryptSSL certificate │
location ~ /.well-known { │
allow all; │
} │
│
# Include SSL config │
include snippets/ssl-domain.com.conf; │
include snippets/ssl-params.conf; │
}
我的子域配置是这样的:
server { │
#listen 80 default_server; │
server_name app1.domain.com; │
passenger_enabled on; │
passenger_app_env development; │
root /home/app1/app1/public; │
}
答案 0 :(得分:0)
我认为唯一的机会是在第一个括号中将server_name
定义为正则表达式。
就是这样的事情
server {
listen 80;
server_name ^(www\.domain\.com|domain\.com)$;
return 301 https://$server_name$request_uri;
}