默认情况下,通过https访问nginx上的站点

时间:2017-07-27 06:39:41

标签: http ssl redirect nginx https

我在nginx服务器上有网站!我希望默认情况下通过https访问网站(在指定的端口,我在下面写)!我的意思是,当我在浏览器中写道时mysite.net:90www.mysite.net:90,它将继续使用https,而不是http!我已经尝试在服务器块中使用“重写”重定向请求,并且“返回”,但它不起作用。

这就是我的服务器块现在的样子:

 server {

         listen 90;  
         listen 9090 ssl;

         server_name example.com;

         ssl on;
         ssl_certificate /etc/nginx/ssl/nginx.crt;
         ssl_certificate_key /etc/nginx/ssl/nginx.key;


         root /var/www/path;

         fastcgi_param HTTPS on;
         fastcgi_param HTTP_SCHEME https; 
         ......

     }

1 个答案:

答案 0 :(得分:0)

您可能会发现此论坛帖子很有用: https://www.digitalocean.com/community/questions/http-https-redirect-positive-ssl-on-nginx

基本上,您需要从HTTP实例创建重定向,其中所有请求都会自动重定向到HTTPS。

像这样:

server {
    listen      90;  
    server_name example.com;
    # Redirect all requests to https
    return      301 https://$server_name$request_uri;
}


server {
    listen              9090 ssl;
    server_name         example.com;
    ssl                 on;
    ssl_certificate     /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;
    root                /var/www/path;

    fastcgi_param HTTPS on;
    fastcgi_param HTTP_SCHEME https; 

}

试试看,看看它是否适合你。 但基本上你是第一个例子,你只是创建一个重定向,所有真正的配置将在第二个。