ssl证书获取与tomcat和nginx设置https

1 SSL证书获取

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

作用:

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

这里演示是:阿里云

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

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

第2步 选择证书类型

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

第3步 确认部署证书

填写自己域名 与个人信息 这里不展示,到时看着填,一般问题不大呢!!!!!
然后→ → → →
它会自动在域名解析 生成一个
在这里插入图片描述
在 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"/>

我使用的

在这里插入图片描述

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

第4步 重新启动tomcat

提示:如果 开启HTTP强制跳转HTTPS 那需要配置 web.xml文件哦

<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>

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;
    }
}

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

  • 修改端口 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;
    }
}

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

第5步 重启

大功告成!!!!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>