阿里云和腾讯云免费SSL证书 专题
解压后的文件夹中有2个文件:
证书文件:以.pem为后缀或文件类型。
密钥文件:以.key为后缀或文件类型。
阿里云部署SSL证书
http://www.cnblogs.com/sslwork/p/5984167.html
查找中间证书
服务器证书和中间证书连接
首先我们需要将中间证书Chain.cer加入到服务器证书Server.cer文件中,请将Chain.cer中的所有内容复制,并粘贴到Server.cer,顺序是: 第一段,服务器证书;第二段,中间证书,如下:
-----BEGIN CERTIFICATE----- MIIEsTCCA5mgAwIBAgIDBfoqMA0GCSqGSIb3DQEBCwUAMEcxCzAJBgNVBAYTAlVT ………Server Certificate………… T0hUGo/wiwTBUafyk1A+LlSUE+dYqzbHYV9Q4d83UIzz9vXO4wmSRgV0udjGN2GR W7oiGmI= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEsTCCA5mgAwIBAgIDBfoqMA0GCSqGSIb3DQEBCwUAMEcxCzAJBgNVBAYTAlVT ………Chain Certificate………… T0hUGo/wiwTBUafyk1A+LlSUE+dYqzbHYV9Q4d83UIzz9vXO4wmSRgV0udjGN2GR W7oiGmI= -----END CERTIFICATE-----
将上一步修改好的Server.cer保存一下,准备后面和KEY一起上传。
证书上传阿里云
点击“负载均衡”-“证书管理”-“创建证书”
“证书名称”请设定一个好记的标识。
“证书类型”选择“服务器证书”。
“证书内容”请将刚才保存的Server.cer(包含了中间证书),全部复制并粘贴。
“私钥”请将刚才Server.key,复制并粘贴。
“证书region”请选择要使用证书的地域。目前如需要在多个地域使用证书,请在多个地域上传。
部署证书
在“负载均衡”菜单点击“实例管理”,选择需要部署证书的实例,点击“管理”。
选择“添加监听”:
“前端协议”选择“HTTPS”:“443”
“后端协议”可以选择“443”或者“80”
“服务器证书”选择刚刚上传的服务器证书。
点击“下一步”,完成SSL证书的安装。
常见问题
为何有些浏览器可以识别我的证书,有些浏览器却会报错?
首先,请确保您已经完成了“服务器证书和中间证书的连接”,如果上传的服务器证书中没有中间证书,有些无法自动下载中间证书的系统,就无法识别服务器证书的有效性。
升级 https 记录
1、去阿里云购买证书(免费版),并提交审核资料
2、下载证书
3、查看上图页面的第三步
文字版: ( 1 ) 使用java jdk将PFX格式证书转换为JKS格式证书(windows环境注意在%JAVA_HOME%/jdk/bin目录下执行) keytool -importkeystore -srckeystore 214248563150581.pfx -destkeystore your-name.jks -srcstoretype PKCS12 -deststoretype JKS 回车后输入JKS证书密码和PFX证书密码,强烈推荐将JKS密码与PFX证书密码相同,否则可能会导致Tomcat启动失败。
4、在证书目录下执行阿里云提供的命令,密码都填 pfx-password.txt 中的内容(三次),会生成 your-name.jks 文件。
此处我已改名为 any.jks
5、将 any.jks 复制到 spring boot 应用的 resources 目录下
6、在 application.yml 中配置证书及端口,密码填写第四步中的密码
此配置会使 Undertow 容器监听 443 端口,那么只有在域名前添加 https:// 才能访问网站内容,添加 http:// 则不行,所以需要让 Undertow 容器监听 80 端口,并将 80 端口的所有请求重定向到 443 端口,即完成 http 到 https 的跳转。
7、添加 SslConfig.java ,配置 Undertow 监听 80 端口。(tomcat下,这一步可以不要)
[code]@Configuration
public class SslConfig {
@Bean
public EmbeddedServletContainerFactory servletContainer() {
UndertowEmbeddedServletContainerFactory undertowFactory = new UndertowEmbeddedServletContainerFactory();
undertowFactory.addBuilderCustomizers(new UndertowBuilderCustomizer() {
@Override
public void customize(Undertow.Builder builder) {
builder.addHttpListener(80, "0.0.0.0");
}
});
return undertowFactory;
}
}
[/code]
8、在 Spring Security 中配置 80 端口到 443 端口的映射
至此,重新打包应用,重新发布应用,即完成了 http 到 https 的升级, https 能让网站更安全,有兴趣的试试吧。Any 系列开源说明
http://spring4all.com/article/84
概述
- 什么是SSL证书
通俗的来讲SSL和TSL都是属于网络传输的安全协议,而SSL继承于TSL,且SSL是一种更为安全的加密协议。
SSL和TSL的体现:
TSL是通过浏览器以http://
来访问,默认端口是80
;
SSL是通过浏览器以https://
来访问,默认端口是443
。
-
为什么要使用SSL
- SSL更加安全
- 在使用微信小程序开发时与后台数据交互必须使用
https
传输,即SSL协议
-
SSL如何获得
-
免费SSL证书有哪些
- 阿里云
- 腾讯云
这里列举两个并做详细获取的方法的描述。
获取
阿里云
- 进入阿里云的“控制台”,在左上角“产品与服务”中点击“证书服务”,如下图:
- 点击右上方的“购买证书”,进入购买页面,如下图:
- 选择“免费型DV SSL”,其他默认,即可看到右边显示“0元”,如下图:
- 点击“立即购买”->“去支付”(注册是0元)->“完成支付”,如下图:
- 点击“进入控制台”后可以看到“我的订单”中多了一条最新购买的证书信息,如下图:
- 点击“补全”完善信息,在绑定域名处输入需要绑定的域名,这里只能输入一个域名,且是公完整并不支持通配符的域名,如下图:
- 点击“下一步”完善个人信息,如下图:
在域名验证类型处需要选择DNS
或文件
进行验证,其目的是验证该域名是属于您的,选择DNS
不需要域名能正常访问,只需要在域名管理处增加CName
即可;选择文件
则需要该域名能正常访问且能在该域名下找到对应的文件。
- 最后选择“系统生成CSR”创建并提交审核即可。
- 最后一步就是验证域名,即加
CName
或上传指定文件到域名服务器下进行验证,一般CName
一个小时左右,文件
方式几分钟即可审核完成 - 审核通过后可以看到
我的订单
中证书状态为已签发
,并在操作列中有下载
链接,点击下载
可以看到下图:
-
在这里提供了
Nginx
、Apache
、Tomat
、IIS 6
、IIS 7
、IIS 8
、其他
这几种证书,也就是可以使用这几种web容器来做https
协议。 -
此时完成了阿里云的免费证书的申请。
腾讯云
- 进入腾讯云管理中心https://console.qcloud.com/
- 选择左上角“云产品”->“SSL证书管理”,如下图:
- 点击左上方“申请证书”(不是购买证书哦),如下图:
- 选择“免费版DVSSL证书”后点击“确定”,如下图:
- 填写申请信息,通用名称填写需要绑定的域名,如下图:
- 选择域名验证方式,如下图:
- 点击“确定申请”后,出现申请已提交信息,表示提交成功,如下图:
- 在证书详情里面可以看到验证方法的信息(这里选择的是DNS验证),如下图:
- 验证通过后,在列表页中可以看到“已颁发”和“下载”字样,如下图:
- 此时已完成腾讯云免费SSL证书的获取,点击“下载”即可下载证书到本地。
配置
获取到了SSL证书后的工作就是使用这些证书进行https访问。
配置方法可以参考文章:《Nginx中配置https做反向代理 - 知识林》
http://www.zslin.com/web/article/detail/72
在Centos中的Nginx配置https做反向代理跟配置http做反向代理基本一样,只是多了ssl的相关配置,如果不知道如何在Centos中配置Nginx做反向代理可以参考文章《Centos 中安装与配置Nginx - 知识林》,如果没有支持https的SSL证书可以参考文章《阿里云和腾讯云免费SSL证书 - 知识林》来获取免费的SSL证书。
- 在Centos中配置Nginx做https的反向代理
只需要修改之前所描述的*.conf文件即可,具体内容如下:
server {
listen 80;
listen 443;
server_name c.zslin.com;
ssl on;
ssl_certificate /etc/nginx/cert/1_c.zslin.com_bundle.crt;
ssl_certificate_key /etc/nginx/cert/2_c.zslin.com.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 zslin.com www.zslin.com *.zslin.com;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://website:port;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect http:// $scheme://; #做https跳转
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
注意:
listen 443
:表示监听443端口,即以https提交的请求,上面的listen 80
表示同时也监听以http提交的请求;
ssl on
:表示开启SSL协议;
ssl_certificate
:指定SSL证书的crt文件路径(如果是阿里云的证书则是pem文件);
ssl_certificate_key
:指定SSL证书的key文件路径;
其他ssl开头的可以照搬;
proxy_pass
:指定代理的地址,可以是外网地址,也可以是内网地址;
proxy_redirect http:// $scheme://
:表示在程序中有redirect跳转时,将采用原有传输协议方式跳转,即如果是以https请求,在跳转后依然是https。
配置完成重启Nginx即可以https访问。
- 在Windows中配置Nginx做https的反向代理
在Windows中安装和配置Nginx其实也比较简单,进入下载地址:http://nginx.org/en/download.html,点击最新版下载,如下图:
下载后将压缩文件解压到合适的目录,可以看到如下图的目录结构:
运行nginx.exe
即可,不过这样运行不是在windows的服务中运行,这样关闭和重新启动都很不方便,也不稳定,一般建议是将Nginx做为windows服务来运行。
制作windows服务可以下载winsw
小工具来完成,解压后可以得到winsw-1.9-bin.exe,可以将该文件移动到nginx安装目录,并重命名为服务名称,如:nginx-server.exe
,创建nginx-server.xml
文件,注意这两个名称要一样,xml文件内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<service>
<id>nginx</id>
<name>nginx</name>
<description>nginx</description>
<executable>D:\java\nginx-1.11.8\nginx.exe</executable>
<logpath>D:\java\nginx-1.11.8\</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>-p D:\java\nginx-1.11.8\</startargument>
<stopargument>-p D:\java\nginx-1.11.8\ -s stop</stopargument>
</service>
注意:将executable
、logpath
、startargument
、stopargument
这几个地方的路径修改为自己nginx的安装目录即可。
打开命令提示符窗口进入到nginx-server.exe
所在目录,键入:nginx-server.exe install
即可安装windows服务,nginx-server.exe uninstall
卸载windows服务。
现在开始配置。
在windows中Nginx的配置文件在:安装目录/conf/nginx.conf,在这个配置文件中复制一个server
来做修改,内容如下:
server {
listen 443 ssl;
server_name c.zslin.com;
ssl_certificate 1_c.zslin.com_bundle.crt;
ssl_certificate_key 2_c.zslin.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://localhost:81;
proxy_set_header Host $host;
proxy_redirect http:// $scheme://; #做https跳转
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
注意:具体描述跟上面Centos中的一样。ssl_certificate
和ssl_certificate_key
对应值没有写路径是因为我已经将这两个文件复制到了conf所在目录。
nginx-server.exe start
:启动服务
nginx-server.exe stop
:停止服务
http://www.zslin.com/web/article/detail/73
配置 NGINX 的 HTTPS
有了证书,就可以去配置 Web 服务器去使用这个证书了,不同的 Web 服务器地配置方法都不太一样。下面用 NGINX 服务器作为演示。我的域名是 ninghao.org,出现这个文字的地方你可以根据自己的实际情况去替换一下。
下载并上传证书
创建一个存储证书的目录:
sudo mkdir -p /etc/nginx/ssl/ninghao.org
把申请并下载下来的证书,上传到上面创建的目录的下面。我的证书的实际位置是:
/etc/nginx/ssl/ninghao.org/213985317020706.pem /etc/nginx/ssl/ninghao.org/213985317020706.key
NGINX 配置文件
你的网站可以同时支持 HTTP 与 HTTPS,HTTP 默认的端口号是 80,HTTPS 的默认端口号是 443。也就是如果你的网站要使用 HTTPS,你需要配置网站服务器,让它监听 443 端口,就是用户使用 HTTPS 发出的请求。
下面是一个基本的监听 443 端口,使用了 SSL 证书的 NGINX 配置文件,创建一个配置文件:
touch /etc/nginx/ssl.ninghao.org.conf
把下面的代码粘贴进去:
server { listen 443; server_name ninghao.org; ssl on; root /mnt/www/ninghao.org; index index.html; ssl_certificate /etc/nginx/ssl/ninghao.org/213985317020706.pem; ssl_certificate_key /etc/nginx/ssl/ninghao.org/213985317020706.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; ssl_prefer_server_ciphers on; }
上面的配置里,ssl_certificate 与 ssl_certificate_key 这两个指令指定使用了两个文件,就是你下载的证书,解压之后看到的那两个文件,一个是 *.pem,一个是 *.key。你要把这两个文件上传到服务器上的某个目录的下面。
重新加载 NGINX 服务:
sudo service nginx reload
或:
sudo systemctl reload nginx
验证配置
在浏览器上输入带 https 的网站地址:https://ninghao.org
如果正确的配置了让服务器使用 SSL 证书,会在地址栏上显示一个绿色的小锁头图标。
点开那个小锁头,会显示安全连接,再打开 详细信息。
提示:
This page is secure (valid HTTPS).
打开 View certificate,会显示证书的相关信息。
搜索引擎优化
2015 年 5 月 25 日,百度发公告声明已全面支持 HTTPS 网页的收录,使用 HTTPS 的网页被认为更安全,所以在排名上会被优先。 百度还推荐使用 301 重定向,把网站的 HTTP 重定向到 HTTPS 。
前几天我让宁皓网支持 HTTPS,并观察了搜索量,并未受到影响。所以,至少不用担心换成 HTTPS 以后,搜索量会下降。不过百度的反应一般都比较慢,需要给他更长的时间。换成 HTTPS 的后两天,谷歌已经收录了 HTTPS 版本的首页,但是百度至今还没有反应。不管怎么样,使用 HTTPS 都是迟早要做的事情。
NGINX 配置使用 301 重定向:
server { listen 80; server_name ninghao.org; return 301 https://$host$request_uri; }
上面的配置会让对 HTTP 网页的请求,重定向到 HTTPS 版本的网页上。
http://www.cnblogs.com/lavezhang/p/6277185.html
DV型和OV型证书的区别
DV和OV型证书最大的差别是:DV型证书不包含企业名称信息;而OV型证书包含企业名称信息,以下是两者差别对比表:
DV | OV | |
包含企业名称信息 | 否 | 是 |
验证公司名称合法性 | 否 | 是 |
通过第三方查询电话验证 | 否 | 是 |
域名验证方式 | 管理员邮箱批准 | 查询whois信息是否一致 |
验证时间 | 最快10分钟签发 | 一般2-3天完成签发 |
证书可信度 | 低 | 较高 |
DV和OV型证书在用户查看证书的详情是,OV型证书会在证书的Subject中显示域名+单位名称等信息;DV型证书只会在证书的Subject中显示域名,如下两图:
DV证书 | OV证书 |
OV型和EV型证书的区别
OV型和EV型证书,都包含了企业名称等信息,但EV证书因为其采用了更加严格的认证标准,浏览器对EV证书更加“信任”,当浏览器访问到EV证书时,可以在地址栏显示出公司名称,并将地址栏变成绿色。
EV证书 | ||
OV证书 | ||
EV证书 | ||
OV证书 | ||
EV证书 | ||
OV证书 | ||
EV证书 | ||
OV证书 | ||
EV证书 | ||
OV证书 |
如何挑选适合我的证书类型
如果您
- 仅需要通过在线加密实现数据安全
- 主要用于电子邮件、IM,CDN加速等
- 用户内部的OA,CRM,VPN系统
- 还是一个初创公司,业务刚刚起步。
我们建议您可以先购买DV型证书,提高网站安全性和PR值。
如果您
- 面向公众提供服务
- 有用户账户登录,在线应用等
- 有多个应用需求,多个域名需要部署
- 公司已经拥有一定的规模
我们建议您购买OV型证书,方便用户快速识别网站真实性,实现全网SSL。
如果您
- 需要实现在线交易,在线支付功能
- 有高价值的数据保密需求
- 需要防止可能遇到的钓鱼网站攻击
- 属于大型企业或者金融机构
我们建议您购买EV型证书,提供最高安全性,帮助客户选择您的服务。
https://www.myssl.cn
http://www.cnblogs.com/sslwork/p/6193256.html