当前位置:   article > 正文

ssl证书获取与tomcat和nginx设置https_nginx 映射tomcat ssl部署

nginx 映射tomcat ssl部署


1 SSL证书获取

SSL(Secure Sockets Layer 安全套接层) 是为网络通信提供安全及数据完整性的一种安全协议

作用:

  • 机密性: SSL协议使用密钥加密通信数据
  • 可靠性: 服务器和客户都会被认证,客户认证服务器是可选的。
  • 完整性: SSL协议会对传送的数据进行完整性检查。

这里演示是:阿里云

第1步 进入 域名 点击 开启 SSL证书

在这里插入图片描述
开启
在这里插入图片描述

第2步 选择证书类型

选DV通配符证书,然后 点击购买两年
在这里插入图片描述
在这里插入图片描述
默认选择系统选择参数 (每个自然年12月31日24:00)有效时间一年,过期再重新申请(不知道大家有什么办法解决呢)
在这里插入图片描述

第3步 确认部署证书

填写自己域名 与个人信息 这里不展示,到时看着填,一般问题不大呢!!!!!

点SSL证书,点 免费证书,点创建证书,填写对应域名 格式www.xxxxx.com
在这里插入图片描述

然后→ → → →
它会自动在域名解析 生成一个
在这里插入图片描述
在 SSL证书页面,点击 免费证书,有20个,我使用1个
在这里插入图片描述

2 下载安装 https

可以了解一下 http 与 https 区别!这里说一下最大区别,就是https有加密功能,还有用作为微信后端,还真的需要https呢
在这里插入图片描述
个人目前用到是这2个 Tomcat与Nginx
在这里插入图片描述

2.1 Tomcat 安装

第1步 新建 cert文件夹

在这里插入图片描述
最终效果
在这里插入图片描述

第2步 上传 下载加压出来的2个文件

文件1:xxxx_域名.pfx
文件2:pfx-password.txt

第3步 配置tomcat文件

在这里插入图片描述

server.xml

首先看官方提供的代码

<Connector port="443"   #port属性根据实际情况修改(HTTPS默认端口为443)。如果使用其他端口号,则您需要使用https://domain name:port的方式来访问您的网站。
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="Tomcat安装目录/cert/domain name.pfx" #证书名称前需加上证书的绝对路径,请使用您证书的文件名替换domain name。
    keystoreType="PKCS12"
    keystorePass="证书密码"  #请替换为密码文件pfx-password.txt中的内容。
    clientAuth="false"
    SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3"
    ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

我使用的

在这里插入图片描述

  • 注释掉之前的
  • 写自己需求的端口
  • 上传自己上传pfx路径
  • 写下载好的密码

第4步 重新启动tomcat

提示:如果 开启HTTP强制跳转HTTPS 那需要配置 web.xml文件哦,在 welcome-file-list后面添加要

<login-config>  
    <!-- Authorization setting for SSL -->  
    <auth-method>CLIENT-CERT</auth-method>  
    <realm-name>Client Cert Users-only Area</realm-name>  
</login-config>  
<security-constraint>  
    <!-- Authorization setting for SSL -->  
    <web-resource-collection >  
        <web-resource-name >SSL</web-resource-name>  
        <url-pattern>/*</url-pattern>  
    </web-resource-collection>  
    <user-data-constraint>  
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>  
    </user-data-constraint>  
</security-constraint>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

记得放心8080端口!!!!!
检查效果
在这里插入图片描述
完美!!!!!

2.2 Nginx安装

新建cert文件夹

在这里插入图片描述

第2步 上传 下载加压出来的2个文件

文件1:xxxx_域名.key
文件2:xxxx_域名.pem

第3步 配置nginx文件

在这里插入图片描述
官方提供代码

#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
    root html;
    index index.html index.htm;
    ssl_certificate cert/cert-file-name.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
    ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书私钥文件的名称。
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #表示使用的加密套件的类型。
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。
    ssl_prefer_server_ciphers on;
    location / {
        root html;  #站点目录。
        index index.html index.htm;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

我项目实际用到的
在这里插入图片描述

  • 修改端口 443 ssl
  • 填写域名
  • 填写pem路径
  • 填写key路径

第4步 开启HTTP请求自动跳转HTTPS

server {
    listen 80;
    server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
    rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
    location / {
        index index.html index.htm;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

我实际用的
在这里插入图片描述
记得也要在宝塔安全里面放心一下端口,这个有点坑!!!
在这里插入图片描述

第5步 重启

大功告成!!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/885355
推荐阅读
相关标签
  

闽ICP备14008679号