nginx添加https

 

nginx添加https

server {
        listen       443 ssl;
        ssl on;
        ssl_certificate   cert/214037260730301.pem;
        ssl_certificate_key  cert/214037260730301.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        server_name  choteel;
        root /opt/apps/laravel/public;
        include php-fpm.conf;
        index index.html index.php; 

        location /api/weather {
            proxy_pass http://localhost/interface/weather;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }

    }

几点注意事项:
1. 如果HTTPS方式访问网站出现无响应的情况,可以看看自己的服务器防火墙配置,是不是需要将443端口加到例外中去;
2. 注意自己xxx.pem和xxx.key的存放路径,区分相对路径和决定路径使用方式;
3. 通过Nginx安装目录下的logs文件夹中的access.log和error.log日志文件来进行排错;
4. 同一个Nginx可以配置多个HTTPS的域名,只需要将上面443端口的监听配置复制一份加到配置文件中,然后修改好相应的server_name、xxx.pem和xxx.key文件路径即可。

如果Nginx配置了HTTPS,那背后的Tomcat就没有必要再进行配置了,另外,为了兼容原来80端口的HTTP方式的访问,可以将80端口的访问请求全部转发到443端口上,增加配置如下:

server {
    listen       80;
    server_name  your-domain.com;

    location = / {
        rewrite ^(.*) https://your-domain.com/$1 permanent;
    }

    location / {
        rewrite ^(.*) https://your-domain.com/$1 permanent;
    }
}

 

posted @ 2018-12-17 17:08  丶中医  阅读(546)  评论(0编辑  收藏  举报