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

相关推荐
腾讯TNTWeb前端团队4 小时前
helux v5 发布了,像pinia一样优雅地管理你的react状态吧
前端·javascript·react.js
范文杰8 小时前
AI 时代如何更高效开发前端组件?21st.dev 给了一种答案
前端·ai编程
拉不动的猪8 小时前
刷刷题50(常见的js数据通信与渲染问题)
前端·javascript·面试
拉不动的猪8 小时前
JS多线程Webworks中的几种实战场景演示
前端·javascript·面试
FreeCultureBoy9 小时前
macOS 命令行 原生挂载 webdav 方法
前端
uhakadotcom9 小时前
Astro 框架:快速构建内容驱动型网站的利器
前端·javascript·面试
uhakadotcom9 小时前
了解Nest.js和Next.js:如何选择合适的框架
前端·javascript·面试
uhakadotcom9 小时前
React与Next.js:基础知识及应用场景
前端·面试·github
uhakadotcom10 小时前
Remix 框架:性能与易用性的完美结合
前端·javascript·面试
uhakadotcom10 小时前
Node.js 包管理器:npm vs pnpm
前端·javascript·面试