如何在nginx上将HTTPS设置为默认值

时间:2016-01-12 15:01:51

标签: ssl nginx https

我已启用启用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;
    }

}

2 个答案:

答案 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