简介
最近发现阿里云开通了免费证书,之前有试过Let's Encrypt,也是免费的,但用起来还是很麻烦的,需要在服务器下载python环境,需要关闭服务器上的443端口等才能申请。作为java开发者,在使用python生成证书的过程中,也遇到了不少麻烦,证书有效期当时也只有3个月,很容易出现过期,最终放弃了。
看效果:点击《免费开源API接口管理系统?》
免费开源的接口管理平台 | 文档管理系统 | BUG管理系统?是我用阿里云免费证书部署的网站,部署后接口能够在谷歌、微软、苹果等主流浏览器使用并且不被拦截,之前没有证书的时候,浏览器的默认安全策略老是会拦截系统访问,提示不安全。
开通流程
1. 进入阿里云 -》数字证书管理服务 -》SSL证书 -》免费证书 -》创建证书?
2.证书创建后,点击 -》证书申请?,需要提供一个可访问的域名,点击下一步即可。
3.申请后,一般在1分钟左右,证书即可完成审批,非常快。
?4.下载证书,选择对应的服务器类型
Tomcat 安装PFX格式证书
(本段从证书下载旁的帮助按钮拷贝而来,请以阿里云最新内容为准)
您可以下载并安装已签发的SSL证书到Tomcat服务器。Tomcat服务器支持安装PFX格式和JKS两种格式的证书,您可以根据Tomcat版本选择要下载的证书格式。本文介绍了安装PFX格式证书的具体步骤。
前提条件
- 已登录您的Tomcat服务器。
- 您的Tomcat服务器上已经开启了443端口(HTTPS服务的默认端口)。
- 已安装OpenSSL工具。访问OpenSSL官网,下载并安装OpenSSL工具。
- 已下载Tomcat服务器所需要的证书文件。关于下载证书的具体操作,请参见下载证书到本地。注意
- 如果您在提交证书申请时,未将CSR生成方式设置为系统生成,则您下载的证书压缩包中不包含TXT密码文件。您必须选择其他类型服务器,下载CRT格式的证书,并使用OpenSSL工具生成PFX格式的证书文件。
- 如果您拥有其他证书,可使用OpenSSL工具将您的证书文件转化为PFX格式。具体操作,请参见如何转换证书格式?。
操作步骤
本文以安装在Linux操作系统中的Tomcat 7为例介绍安装PFX格式证书的具体步骤。
- 解压已保存到本地的Tomcat证书文件。解压后您将看到文件夹中有以下文件:
- 证书文件(domain_name.pfx)
- 密码文件(pfx-password.txt)
说明
- 本文中证书名称以domain_name为示例。
- 每次下载证书都会产生新的密码。该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新匹配的密码。
- 在Tomcat安装目录下,创建cert目录,将解压的证书和密码文件拷贝到cert目录下。
说明?Tomcat安装目录与您的服务器环境有关。您可以使用sudo find / -name *tomcat* 命令,查询Tomcat的安装目录。 - 修改配置文件server.xml(路径:Tomcat安装目录/conf/server.xml),并保存。您可以从以下方式中选择一种进行操作:
注意?使用方式一配置SSL连接器时,Tomcat将自动为您选择SSL的实现方式。如果您按照方式一无法完成后续配置,可能是因为您的环境不支持自动选定的SSL实现方式。这种情况下,您可以根据环境属性,使用方式二手动指定SSL的实现方式。
- 方式一:Tomcat服务器自动选择SSL的实现方式。
修改SSL连接器的属性为以下内容: <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"/> - 方式二:您手动指定SSL的实现方式。您可以在server.xml中移除以下代码的注释,即去掉该内容前的井号(#)。指定使用JSSE实现方式:
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="Tomcat安装目录/cert/domain_name.pfx" keystorePass="证书密码"
clientAuth="false" sslProtocol="TLS"/>
- 可选:配置web.xml文件,开启HTTP强制跳转HTTPS。在文件</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>项目名称</web-resource-name> #请将该参数替换为您的项目名称。
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint> - 重启Tomcat服务。
- 执行以下命令,关闭Tomcat服务:放大查看复制代码
./shutdown.sh - 执行以下命令,开启Tomcat服务:放大查看复制代码
./startup.sh
|