我已启用启用SSL的域名,服务器,并且默认启动并运行HTTP
。我明确请求https://domain.tld
时它可以正常工作,但如何将其设为默认值而不是HTTP
现在我有我的nginx vhost的以下指令
server {
listen 80 ;
listen 443 ssl default_server;
ssl on ;
ssl_certificate /etc/nginx/ssl/XX.crt;
ssl_certificate_key /etc/nginx/ssl/XX.key;
server_name x.me www.x.me;
root /usr/share/nginx/www/x/site;
index index.html index.php;
location / {
try_files $uri $uri/ /index.php?q=$request_uri;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
答案 0 :(得分:3)
将http请求重定向到https。这可以通过脚本来完成,但也可以使用' return'来完成。
教程:https://christiaanconover.com/blog/how-to-redirect-http-to-https-in-nginx
答案 1 :(得分:3)
添加一个单独的服务器,该服务器将重定向到https:
server {
listen 80;
server_name x.me www.x.me;
return 301 https://$host$request_uri;
}
并从现有代码块中删除listen 80