网站是HTTP?10分钟变成HTTPS!域名免费添加配置SSL证书,变成https——环境
对于小程序request请求需要https域名、navigator.geolocation定位也需要在https环境下才可以生效等问题;
前端开发越来越需要https环境来来测试一下API接口和各类问题,今天来讲解一下怎么免费快速把普通的http网站配置升级成https协议。
首先向大家介绍一下HTTP和HTTPS的基本概念:
HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),可以使浏览器更加高效,使网络传输减少。
HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
1.在此之前一定要申请一个http的域名,先申请个免费的SSL证书,我申请阿里云的免费SSL
阿里云免费SLL申请网站:
https://common-buy.aliyun.com/?spm=5176.7968328.1266638..5e971232StYwxz&commodityCode=cas&aly_as=RhwKyAvA/buy
2.免费购买之后,进入SSL证书管理控制台,找到刚才购买好的证书,点击证书申请,绑定自身的域名,填写相关联系信息,证书之类的设置就默认选项就OK,大概半个小时,会提示证书申请成功。
3.申请签发成功后,点击下载证书,请根据自身的服务器类型选择证书下载:
1.^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2.
如果有疑问欢迎在留言处提问,会在第一时间回复!谢谢
相应服务器配置教程如下:
Tomcat服务器安装SSL证书
在证书控制台下载Tomcat版本证书,下载到本地的是一个压缩文件,解压后里面包含.pfx文件是证书文件,pfx_password.txt是证书文件的密码。
友情提示:每次下载都会产生新密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新密码。
申请证书时如果没有选择系统创建CSR,则没有该文件,请选择其它服务器下载.crt文件,利用openssl命令自己生成pfx证书。
1、PFX证书安装
以Tomcat7标准配置为例,假如证书文件名是a.pfx。
找到安装Tomcat目录下该文件server.xml,一般默认路径都是在 conf 文件夹中。找到 keystoreFile=
"cert/200613478180598.pfx"
keystoreType=
"PKCS12"
此处的证书密码,请参考附件中的密码文件或在第1步中设置的密码
keystorePass=
"证书密码"
Apache服务器安装SSL证书
在证书控制台下载Apache版本证书,下载到本地的是一个压缩文件,解压后里面包含_public.crt文件是证书文件,_chain.crt是证书链(中间证书)文件,.key文件是证书的私钥文件(申请证书时如果没有选择系统创建CSR,则没有该文件)。
友情提示:.crt扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要,修改成.pem等扩展名。
以Apache标准配置为例,假如证书文件名是a_public.crt,证书链文件是a_chain.crt,私钥文件是a.key。
操作步骤
在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为a.key;
打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉。
12LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
Include conf/extra/httpd-ssl.conf(删除行首的配置语句注释符号,保存后退出)
3.打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:
1 2 3 4 5 6 7 8 9 10 11 | 添加 SSL 协议支持协议,去掉不安全的协议 SSLProtocol all -SSLv2 -SSLv3 修改加密套件如下 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM SSLHonorCipherOrder on 证书公钥配置 SSLCertificateFile cert/a_public.crt 证书私钥配置 SSLCertificateKeyFile cert/a.key 证书链配置,如果该属性开头有 字符,请删除掉 SSLCertificateChainFile cert/a_chain.crt |
4.重启 Apache。
1 2 | apachectl -k stop apachectl -k start |
Nginx/Tengine服务器安装SSL证书
在证书控制台下载Nginx版本证书。下载到本地的压缩文件包解压后包含:
.crt文件:是证书文件,crt是pem文件的扩展名。
.key文件:证书的私钥文件(申请证书时如果没有选择自动创建CSR,则没有该文件)。
友情提示:.pem扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要修改扩展名。
以Nginx标准配置为例,假如证书文件名是a.pem,私钥文件是a.key。
在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为a.key;
打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:
12345678910111213141516HTTPS server
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
}
}
将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :
1234567891011121314151617server {
listen 443;
server_name localhost;
ssl
on
;
root html;
index index.html index.htm;
ssl_certificate cert/a.pem;
ssl_certificate_key cert/a.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
;
location / {
root html;
index index.html index.htm;
}
}
:wq!保存退出,/sbin/nginx -s reload重启服务器即可
IIS服务器SSL证书安装
在证书控制台下载IIS版本证书,下载到本地的是一个压缩文件,解压后里面包含.pfx文件是证书文件,pfx_password.txt是证书文件的密码。
友情提示:每次下载都会产生新密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新密码。
申请证书时如果没有选择系统创建CSR,则没有该文件,请选择其它服务器下载.crt文件,利用openssl命令自己生成pfx证书。
1、IIS6
( 1 ) 证书导入
• 开始 -〉运行 -〉MMC;
• 启动控制台程序,选择菜单文件中的添加/删除管理单元-> 添加,从可用的独立管理单元列表中选择证书-> 选择计算机帐户;
• 在控制台的左侧显示证书树形列表,选择个人->证书,右键单击,选择所有任务-〉导入, 根据证书导入向导的提示,导入PFX文件(此过程当中有一步非常重要:根据证书内容自动选择存储区)。
• 安装过程当中需要输入密码为您当时设置的密码。导入成功后,可以看到证书信息。
( 2 ) 分配服务器证书。
2、IIS7/IIS8
( 1 ) 证书导入
• 开始 -〉运行 -〉MMC;
• 启动控制台程序,选择菜单文件中的添加/删除管理单元-> 添加,从可用的独立管理单元列表中选择证书-> 选择计算机帐户;
• 在控制台的左侧显示证书树形列表,选择个人->证书,右键单击,选择所有任务-〉导入, 根据证书导入向导的提示,导入PFX文件(此过程当中有一步非常重要:根据证书内容自动选择存储区)。安装过程当中需要输入密码为您当时设置的密码。导入成功后,可以看到证书信息。
( 2 ) 分配服务器证书
• 打开 IIS8.0 管理器面板,找到待部署证书的站点,点击绑定。
• 设置参数选择绑定->添加->类型选择 https ->端口 443 ->ssl 证书【导入的证书名称】 ->确定。
SSL 缺省端口为 443 端口(请不要随便修改。如果您使用其他端口如:8443,则访问时必须输入:https://www.domain.com:8443)。