文章目录
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文件哦,在 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>
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步 重启
大功告成!!!!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/107114.html