WEB服务1:免费https申请 https配置tomcat和nginx

阿里云免费申请https证书

阿里云可以提供一年的免费ssl证书,下面看看如何申请
管理控制台——产品与服务——SSL证书(应用安全)——购买证书(在右上角),刚进来是需要付费的——Symantec(在点击增强型 OV SSL就会跳出免费)
点击免费购买就可以了,这时候获得是还没有绑定域名的还无法使用,还需要返回来填写需要绑定的域名信息,验证域名然后等待2小时左右就可以下载SSL证书了。


WEB服务1:免费https申请 https配置tomcat和nginx_第1张图片
ssl证书

WEB服务1:免费https申请 https配置tomcat和nginx_第2张图片
ssl证书2

WEB服务1:免费https申请 https配置tomcat和nginx_第3张图片
ssl证书

WEB服务1:免费https申请 https配置tomcat和nginx_第4张图片
ssl证书

还可以点击域名或者云解析DNS,直接在域名下申请证书。


域名解析

WEB服务1:免费https申请 https配置tomcat和nginx_第5张图片
域名申请

如果没有云解析DNS,进入域名后点击需要增加ssl的域名
WEB服务1:免费https申请 https配置tomcat和nginx_第6张图片
ssl

WEB服务1:免费https申请 https配置tomcat和nginx_第7张图片
ssl域名申请

Tomcat配置https(pfx)

Tomcat的配置有两种方式pfx和jks(本实验使用pfx方式)Tomcat7以后才支持pfx的格式,否则需要使用jks,在阿里云下载对应证书(根据安装需要下载对应的版本),这里下载tomcat版本

WEB服务1:免费https申请 https配置tomcat和nginx_第8张图片
下载对应证书

下载解压后文件:


WEB服务1:免费https申请 https配置tomcat和nginx_第9张图片
下载的证书

在tomcat文件夹下新建cert,将cert-1541390494946_test.zhicj.cn.pfx 放置进去

在server.xml配置文件中加入配置:


配置好防火墙后,重启tomcat即可测试访问。
https://绑定的域名:端口
特别注意如果使用IP访问或者其他解析的域名访问https都是显示不安全的。
如果protocol="HTTP/1.1"配置是这个,在tomcat7中报错:


WEB服务1:免费https申请 https配置tomcat和nginx_第10张图片
报错

原因:
Tomcat提供了两个SSL实现,一个是JSSE实现,另一个是APR实现。这里使用apr方式因此需要修改为protocol="org.apache.coyote.http11.Http11Protocol"

JKS证书安装(帮助)

( 1 ) 使用java jdk将PFX格式证书转换为JKS格式证书(windows环境注意在%JAVA_HOME%/jdk/bin目录下执行)
keytool -importkeystore -srckeystore 1534713259529.pfx -destkeystore your-name.jks -srcstoretype PKCS12 -deststoretype JKS
回车后输入JKS证书密码和PFX证书密码,强烈推荐将JKS密码与PFX证书密码相同,否则可能会导致Tomcat启动失败。
( 2 ) 找到安装 Tomcat 目录下该文件Server.xml,一般默认路径都是在 conf 文件夹中。找到

Connection port="8443"标签,增加如下属性:
keystoreFile="cert/your-name.jks"
keystorePass="证书密码"

完整的配置如下,其中port属性根据实际情况修改:


( 注意:不要直接拷贝所有配置,只需添加 keystoreFile,keystorePass等参数即可,其它参数请根据自己的实际情况修改 )
重启 Tomcat。
通过 https 方式访问您的站点,测试站点证书的安装配置

Nginx配置https

阿里云下载nginx的证书,在nginx目录下新建crt文件夹,将解压后两个文件拷贝到里面。特别注意,如果nginx使用其他启动账户需要有访问此文档权限


WEB服务1:免费https申请 https配置tomcat和nginx_第11张图片
证书位置

编辑配置

server {
        listen       8443 ssl;
        server_name  localhost; #此处可以修改为申请的证书域名
        ssl_certificate      /home/app/tengine/crt/cert-1541390494946_test.zhicj.cn.crt;
        ssl_certificate_key  /home/app/tengine/crt/cert-1541390494946_test.zhicj.cn.key;
    #此处就是放置ssh证书文件和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;
        }
    }

在实际使用情况根据使用情况修改,SSL证书配置最主机的地方在上面证书放置到正确位置,至于cache、timeout等等根据业务需要调整。Location等配置根据实际情况和server其他配置相同。配置完成以后,
重启nginx或者使用-s reload 导入配置文件既可以。

你可能感兴趣的:(WEB服务1:免费https申请 https配置tomcat和nginx)