前言:
此时姐妹们对“nginx ssl配置详解”都比较关怀,咱们都需要了解一些“nginx ssl配置详解”的相关内容。那么小编在网上网罗了一些对于“nginx ssl配置详解””的相关知识,希望小伙伴们能喜欢,你们快快来了解一下吧!SSL加密连接
在此分享前,思考几个问题。Q1.为什么服务器要启用SSL加密数据连接?Q2.如何使用SSL?Q3.启用SSL的优势、劣势?
A1. HTTP协议在传输过程中,对于数据是不加密的,如果有恶意截取、伪造的情况是非常危险的。HTTPS就是基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护。目前Chorme浏览器已经默认将HTTP的站点当成不安全的网站类型,全站SSL将会而且必须是发展的趋势。A2. 流程很简单,申请SSL证书,配置应用服务器支持SSL,测试网站SSL有效性。A3. SSL优势对服务器及客户端交互的数据进行加密,保护数据安全。但凸显出来对性能是有一定的下降的(因为传统的TCP连接经历了三次握手即可传输数据,但在HTTPS场景下,还需要对RSA签名校验,对ECC秘钥交换、计算、加密、解密等等)。但在不同场景,HTTP及HTTPS有不同的应用,例如在文件分发只读的情况,无需启用HTTPS,例如在购物车等场景,必须启用HTTPS。
功能配置
1.申请SSL证书,我们采用阿里云云盾的免费单域名证书。然后下载证书存放到ECS服务器上。
2.在Nginx上,ngx_http_ssl_module模块为HTTPS提供必要的支持,默认是不开启的,如果需要Nginx支持SSL,需要在编译时加入--with-http_ssl_module编译选项,该模块依赖OpenSSL库。编辑nginx.conf文件增加SSL相关的配置信息。
server { listen 443 ssl; server_name nginx.yekangming.com; ssl_certificate /data/certificate/public.crt; ssl_certificate_key /data/certificate/private.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; location / { root /data/webroot/nginx; index index.html; }}
ssl on; #旧版本的写法配置详解
ssl_certificate /data/certificate/public.crt; #证书ssl_certificate_key /data/certificate/private.key; #私钥ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #协议ssl_ciphers HIGH:!aNULL:!MD5; #加密套件
访问效果在Chorme浏览器访问,可以在左上角见到有锁头代表已经加密了连接使用了SSL。
小技巧
用户在访问时习惯性只会输入域名,而我们浏览器则会自动补齐协议http://一般情况下都会配置跳转,让用户的请求从HTTP从定向到HTTPS。
标签: #nginx ssl配置详解