我们使用HTTP访问一个网站的时候,浏览器总是会提示“连接不安全“。最近在腾讯云注册申请了一个 hedianpipi.top(喝点啤啤) 的域名,通过域名解析绑定到了我腾讯云服务器上的应用中。当人默认是HTTP访问的,所以我就想要替换成HTTPS。
HTTPS与HTTP不同的就是,HTTPS是通过SSL加密传输的。所以首先我们需要申请一个SSL证书。登录腾讯云的 SSL证书控制台,在购买证书和申请免费证书之间,我选择了申请免费证书。
免费证书存在以下缺点:
所以免费证书仅限于学习测试使用,如果企业级还是一定要购买证书。
在免费证书申请页面只需要填写域名,然后选择自动DNS验证,点击提交申请即可。
提交申请之后,腾讯云会自动添加解析记录,这个在 云解析DNS 控制台可以看到新增的解析记录,这条记录在证书签发后才能删除或者暂停。
在大约等了半个小时左右,微信收到了腾讯云助手的审核通过的推送,在控制台站内信也可以看到。
在SSL证书控制台-我的证书中,可以看到证书情况。
点击部署,可以通过使用 SSL 证书控制台提供的自动部署功能,将证书自动部署到云资源。
轻量服务器支持特定镜像实例的自动部署,我这里使用的基础镜像,所以这里无法使用自动部署,只能手动部署。基础不好的同学可以购买一键HTTPS的服务。
在控制台点击下载,会弹出支持的服务证书证书,我使用的是Tomcat,所以下载Tomcat的pfx证书。
解压之后里面有两个文件,cloud.tencent.com.pfx 证书文件和keystorePass.txt 密码文件
记住txt中的密码和pfx的文件路径。
在Tomcat的server.xml配置文件中,在Service节点中新增一个Connector。下面的配置样例中,只需要修改两个部分,一个是keystoreFile换成你的证书文件路径,keystorePass换成你的密码。
<Connector port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="/root/app/apache-tomcat-8.5.30/conf/www.hedianpipi.top.pfx"
keystoreType="PKCS12"
keystorePass="****"
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"/>
然后重启tomcat,使用https访问成功。
在Tomcat配置目录下找到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>
然后修改server.xml中的HTTP 连接器的redirectPort为443,这样HTTPS重定向到HTTPS中。
重启Tomcat,测试结果如下:
本篇文章主要通过腾讯云的控制台指引,申请了免费的SSL证书,用户可以轻松地实现网站HTTPS安全连接。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。