nginx服务器https升级实践

1.查看当前nginx的安装情况,是否包含ssl模块

[bema@server17 ~]$ /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.9.4
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

若安装参数无--with-http_ssl_module,则需要先重新编译nginx,将ssl模块编译进来。参考引用传送门

2.将对应域名的证书放置再nginx安装目录下,最好新建一个ssl目录,统一存放。

[bema@server17 api61park]$ pwd
/usr/local/nginx/ssl/api61park
[bema@server17 api61park]$ ll
总用量 8
-rw-r--r--. 1 root root 1675 3月  15 17:00 api61park.key
-rw-r--r--. 1 root root 3654 3月  15 17:00 api61park.pem

*.key为密钥文件,*.pem为证书文件

3.修改nginx配置,让其可以支持https请求

server {
        default_type 'text/html';
        charset utf-8;
        listen       80;
        server_name  m.61park.cn;
        #https配置start
        listen       443 ssl;
        ssl_certificate      /usr/local/nginx/ssl/m61park/m61park.pem;#证书目录
        ssl_certificate_key  /usr/local/nginx/ssl/m61park/m61park.key;#密钥目录
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#支持的加密协议
        ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!MD5;#支持的加密算法
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  300m;
        ssl_prefer_server_ciphers  on;
        #https配置end
        client_header_buffer_size 128k;
        large_client_header_buffers 4 128k;
        add_header Set-Cookie loginSessionHttps;
        port_in_redirect off; #防止跳转的时候带了端口号,会导致404
……

上述配置为http与https共存,即支持两者同时访问。

4.设置非安全连接永久跳转到安全连接的配置,及http请求强制跳转到https

server{
    listen 80;
    server_name api.61park.cn;
    #告诉浏览器有效期内只准用 https 访问
    add_header Strict-Transport-Security max-age=15768000;
    #永久重定向到 https 站点
    return 301 https://$server_name$request_uri;
}

5.重启nginx

/usr/local/nginx/sbin/nginx -s reload

6.浏览器访问测试正确性

转载于:https://my.oschina.net/u/269488/blog/1795187

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值