web配置https

Tomcat8 配置:

1.单向认证,就是传输的数据加密过了,但是不会校验客户端的来源

2.双向认证,如果客户端浏览器没有导入客户端证书,是访问不了web系统的,找不到地址

如果只是加密,我感觉单向就行了。

如果想要用系统的人没有证书就访问不了系统的话,就采用双向

单向配置:
第一步:为服务器生成证书

使用 jdk 的 keytool 为 Tomcat 生成证书,假定目标机器的域名是" localhost ", keystore 文件存放在" C:\tomcat.keystore ",口令为" password ",使用如下命令生成:

sh 复制代码
keytool -genkey -v -alias tomcat -keyalg RSA   -validity 3650  -keystore c:\tomcat.keystore -dname "CN=localhost,OU=cn,O=cn,L=cn,ST=cn,c=cn"
 -storepass password -keypass password 

保存证书到tomcat.cer

sh 复制代码
keytool -export -alias tomcat -keystore c:\tomcat.keystore -file c:\tomcat.cer -storepass password
第二步:配置Tomcat 服务器

打开Tomcat 根目录下的 /conf/server.xml ,找到如下配置段,修改如下:

xml 复制代码
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"  maxThreads="150" scheme="https" secure="true"  
clientAuth="false" sslProtocol="TLS"  keystoreFile="C:/tomcat.keystore" keystorePass="password" />
将默认http转换为https

应用程序的web.xml 可以加上这句话: 具体web系统 (也可是Tomcat下的conf/web.xml)

xml 复制代码
	<!-- Authorization setting for SSL --> 
	<login-config> 
		<auth-method>CLIENT-CERT</auth-method> 
		<realm-name>Client Cert Users-only Area</realm-name> 
	</login-config> 
	
	<security-constraint>  
        <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> 

将 URL 映射设为 /* ,这样你的整个应用都要求是 HTTPS 访问,而 transport-guarantee 标签设置为 CONFIDENTIAL 以便使应用支持 SSL。

如果你希望关闭 SSL ,只需要将 CONFIDENTIAL 改为 NONE 即可

参考博客:

http://blog.csdn.net/keketrtr/article/details/52869173
http://blog.csdn.net/zhangxing52077/article/details/72827770

相关推荐
abc80021170341 小时前
前端Bug 修复手册
前端·bug
Best_Liu~1 小时前
el-table实现固定列,及解决固定列导致部分滚动条无法拖动的问题
前端·javascript·vue.js
想到的名字都被人用了1 小时前
http包详解
网络协议·http·go
_斯洛伐克2 小时前
下降npm版本
前端·vue.js
苏十八3 小时前
前端进阶:Vue.js
前端·javascript·vue.js·前端框架·npm·node.js·ecmascript
st紫月4 小时前
用MySQL+node+vue做一个学生信息管理系统(四):制作增加、删除、修改的组件和对应的路由
前端·vue.js·mysql
乐容4 小时前
vue3使用pinia中的actions,需要调用接口的话
前端·javascript·vue.js
似水明俊德5 小时前
ASP.NET Core Blazor 5:Blazor表单和数据
java·前端·javascript·html·asp.net
至天6 小时前
UniApp 中 Web/H5 正确使用反向代理解决跨域问题
前端·uni-app·vue3·vue2·vite·反向代理
与墨学长6 小时前
Rust破界:前端革新与Vite重构的深度透视(中)
开发语言·前端·rust·前端框架·wasm