您的位置:首页 > 运维架构 > Nginx

SSL 证书购买以及Nginx配置相关问题

2017-02-25 18:47 876 查看
使用https的网站越来越多了,不仅可以增加网络数据传输的安全性,还行增加搜索引擎的友好度。越来越多的个人站长也开始使用https,我们要赶得上趋势啊。

使用https的第一个问题就是要有CA证书,使用免费的,还是收费的?哪种证书比较好?哪家的证书比较便宜?下面是搜集到一些知识,学习和备用。

很多付费的证书机构会提供限时的免费证书来体验,免费的其实也很多,基本都有时间上的限制。

支持单个域名的最便宜,支持多个域名,和支持任意自域名的会贵很多。

购买网站

证书的购买网站,一般都卖很多种

rapidsslonline SSL 证书的购买与 Nginx 下的配置

startssl.com 可以申请免费证书 1年的

Namecheap

SSLs 感觉还不错

cheapssl

gogetssl 有便宜证书,也有免费的

GoDaddy 就是那个卖域名比较火的网站

其他很多

证书颁发机构,前面的几种见到的更多,什么类型和流量的网站推荐用什么还不是很了解

Let’s Encrypt:免费,快捷,支持多域名(不是通配符),三条命令即时签署+导出证书。缺点是暂时只有三个月有效期,到期需续签

StartSSL 免费DV证书

Comodo PositiveSSL:便宜,单年9美刀,如果签三年大概每年4至5美刀。可签署ECC SSL证书

RapidSSL:单年签署价格同PositiveSSL,并没有什么优缺点

沃通(Wosign)免费DV证书, 最近比较火,不推荐。 Github事件已经失去信任

globalsign

VeriSign

geotrust

Symantec 据说比较高级,也比较贵

其他很多

这个网站可以查查 IDC点评,看起来大部分都是面向企业的。

证书相关知识

影响证书的价格的一些因素

证书的等级 DV OV EV 三种

是否支持多域名 支持单个域名的最便宜,支持多个域名,和支持任意自域名的会贵很多。

支持多服务器

加密强度

证书的等级

CA机构颁发的证书有3种类型:

域名型SSL证书(DV SSL):信任等级普通,只需验证网站的真实性便可颁发证书保护网站;

企业型SSL证书(OV SSL):信任等级强,须要验证企业的身份,审核严格,安全性更高;

增强型SSL证书(EV SSL):信任等级最高,一般用于银行证券等金融机构,审核严格,安全性最

最低等级的有免费的,付费的一年几美元也能买到

SSL 证书服务,大家用哪家的

错误记录

NGINX配置Let’s Encrypt证书,Firefox无法打开

使用 certbot 这个工具来生成
Let's Encrypt
的证书,部署到nginx在 firefox 浏览器无法打开显示
sec_error_unknown_issuer
, 说没有信任的中间证书提供商。

接着就在 SSL测试在线测试网站 ssltest 进行测试,会有这么一个警告
This server's certificate chain is incomplete. Grade capped to B.


然后google了下,看到别人提到
cert.pem  chain.pem  fullchain.pem
这个几个文件才想起来(certbot自动生成),是不是配的又问题呢?

于是 cert.pem(证书链残缺了) 替换成 fullchain.pem 就好了。

ssl_certificate  /etc/letsencrypt/live/blog.orangleliu.info/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/blog.orangleliu.info/privkey.pem;




Nginx ssl相关的配置

server {
listen 443 ;
server_name blog.orangleliu.info;
ssl on;
ssl_certificate /etc/letsencrypt/live/blog.orangleliu.info/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/blog.orangleliu.info/privkey.pem;

ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA512:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:ECDH+AESGCM:ECDH+AES256:DH+AESGCM:DH+AES256:RSA+AESGCM:!aNULL:!eNULL:!LOW:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/dhparam.pem;

keepalive_timeout 70;
ssl_session_cache shared:SSL:2m;
ssl_session_timeout 2m;

add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains';
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8;

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-Proto $scheme;

proxy_pass http://127.0.0.1:9988; proxy_redirect off;
}

location ~ ^/(shared/|built/) {
root /www/ghost/core;
access_log off;
expires 7d;
}

location ~ ^/(content/images/) {
root /www/ghost;
access_log off;
expires 7d;
}

location ~ ^/assets {
root /www/ghost/content/themes/grayliner ;
access_log off;
expires 7d;
}
}

server {
listen 80;
server_name blog.orangleliu.info;
rewrite ^/(.*)$ https://$server_name$request_uri permanent;
}


其他

一行命令查看某个网站ssl证书的过期时间,这是 运维开发群 ��爷的分享, Centos可以运行

# echo | openssl s_client -connect blog.orangleliu.info:443 2>/dev/null | openssl x509 -enddate -noout
notAfter=Jan 26 06:57:00 2017 GMT
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx ssl 证书