云服务器添加HTTPS的解决方案

申请和获取证书

今天在阿里云申请了SSL证书。点击下载按钮
在这里插入图片描述
我选择了tomcat。
在这里插入图片描述

下载zip文件,并且解压
在这里插入图片描述

然后将这两个文件上传到服务器指定的文件夹下面。

上传地址:
在这里插入图片描述
这时候,我就要生成密钥了。就是生成那个domains.jks的文件。
然后把domains.jks拷贝到tomcat的conf中。
在这里插入图片描述

部署使用证书,验证HTTPS

开始配置server.xml。keystorePass=“这个是你的密钥” 这里是存放密钥的。密钥就在pfx-password.txt文件夹中。

<Connector
port="443" protocol="HTTP/1.1"
SSLEnabled="true" maxThreads="15"
scheme="https" secure="true"
keystoreFile="conf/domains.jks"
keystorePass="这个是你的密钥"
clientAuth="false"
sslProtocol="TLS" />

80端口也默认从定向到443端口

<Connector port="80" protocol="HTTP/1.1" redirectPort="443" />

在tomcat的conf下的web.xml中的welcome-file-list。配置如下内容。

<welcome-file-list>
	<welcome-file>index.html</welcome-file>
	<welcome-file>index.htm</welcome-file>
	<welcome-file>index.jsp</welcome-file>

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

</welcome-file-list>

那么我们重启服务器,能够看到https添加成功。
在这里插入图片描述
这样还没有结束,如果我们输入http://www.marsdl.com。没有自动走https协议,这个时候,我们还需要配置刚才的web.xml。
添加这个配置即可。

<security-constraint>
 <web-resource-collection>
 <web-resource-name>Automatic Forward to HTTPS/SSL
 </web-resource-name>
 <url-pattern>/*</url-pattern>
 </web-resource-collection>
 <user-data-constraint>
	<transport-guarantee>CONFIDENTIAL</transport-guarantee>
 </user-data-constraint>
</security-constraint>

这次我们直接在浏览器地址输入输入 www.marsdl.com,就会自动走https。

浏览器自动走https的原理

这里的原理是服务器rewrite url。因为浏览器都是默认http协议,在第一次请求后,服务器重写url变成https,这样下次浏览器会依据这个地址进行下一次的访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值