javaweb-day04-5(javaWeb开发入门 - tomcat体系架构、配置https加密连接器)
来源:互联网 发布:淘宝怎么认证卖家 编辑:程序博客网 时间:2024/05/16 15:05
打包Web应用为war文件:
jar -cvf aa.war news
将war文件拷贝到tomcat的webapps目录下,会自动解压。
配context元素的reloadable元素,让tomcat自动加载更新后的web应用:
<Context path="xxx" docBase="c:\news" reloadable="true" />
开发里面不建议用这个元素,一般情况下等全部改完再一起发布。
Tomcat体系架构
- tomcat 的体系结构在 server.xml 文件中就能体现出来:
<?xml version='1.0' encoding='utf-8'?><Server port="8005" shutdown="SHUTDOWN"> <!--启动服务器,占用8005端口--> <Service name="Catalina"> <!--启动一个服务,服务的名称是“Catalina”--> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <!--启动一个客户机连接器,连接器收到请求。这个连接器是个没有加密的连接器--> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <!--把请求交给引擎--> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> </Host> <Host name="www.mengmei.com" appBase="c:\mengmei"> <!--引擎会找到客户机要请求的主机--> <Context path="" docBase="c:\mengmei\mail"></Context> <!--并找到客户机要访问的web应用--> </Host> </Engine> </Service></Server>
配置https连接器
- 公钥、私钥加密
- 原理:A向B发送数据的时候,先向B要一个密钥用来加密数据。B使用算法生成一个公钥和一个私钥,用公钥加密的数据只能用私钥来解密。这样B把公钥发给A,A把数据用公钥加密后发送给B,然后B用私钥解密数据。
- 这种加密方式的风险:可能有C将B发送给A的公钥截获,把自己生成的公钥发给A,然后再将A用此公钥加密的数据截获,用自己的私钥解密,来窃取数据。然后C再另拟一份数据用B的公钥加密后发送给B,进行捣乱。
- 那么公钥、私钥加密就出现了这样一个问题,A怎么确认这个公钥就是B发过来的。
- 总结:密码学讨论到最后,没有安全性可言。只能用一个机构来担保。有CA这么一个机构,CA为B的公钥担保就会发给B一份数字证书,这个证书包括CA的签名和B的公钥。当A收到公钥后看到有CA的担保,就可以放心大胆的用这个公钥了。如果CA这个机构也被第三方攻陷了,那就都完蛋了。
- 原理:A向B发送数据的时候,先向B要一个密钥用来加密数据。B使用算法生成一个公钥和一个私钥,用公钥加密的数据只能用私钥来解密。这样B把公钥发给A,A把数据用公钥加密后发送给B,然后B用私钥解密数据。
- 为服务器生成数字证书:keytool -genkey -alias tomcat -keyalg RSA
- 生成的证书会放在:终端显示的当前目录下,是一个名为.keystore的密钥库文件。并把密钥库文件剪切到Tomcat的conf目录下。
- 配置密钥库路径和密码到Tomcat服务器:在apache-tomcat-7.0.42\conf\server.xml文件中配置
- <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
- maxThreads="150" scheme="https" secure="true"
- clientAuth="false" sslProtocol="TLS" keystoreFile="conf\.keystore" keystorePass="123456"/>
- 如果 keystoreFile 和 keystorePass 这两个属性名记不住的话,去【http://localhost:8080 - Documentation - Reference - Configuration - Connectors - HTTP - SSL Support 的 Attribute表格】中查找。
- 配置后保存server.xml文件,重启服务器。
- 浏览器安全访问服务器的方式:https://localhost:8443
Tomcat服务器的管理平台
- http://localhost:8080/ - Manager App - 需要用户名和密码。
- apache-tomcat-7.0.42\conf\tomcat-users.xml 文件 可以配置登录管理平台的用户名密码。
<?xml version='1.0' encoding='utf-8'?><tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/></tomcat-users>
- 默认配了三个用户名和密码都是加了注释的,像这样把注释打开。但是这时候这几个用户没有管理员权限,我们定义了管理员权限,并为第一个用户设置了管理员权限:
<tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager-gui"/> <user username="tomcat" password="tomcat" roles="tomcat,manager-gui"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/></tomcat-users>
这样配置后,保存 tomcat-users.xml 文件,并重启服务器,就可以使用了。
- 想访问 http://localhost:8080/ - Host Manager 主机管理,再为用户加个 admin-gui 权限:
<tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager-gui"/> <role rolename="admin-gui"/> <user username="tomcat" password="tomcat" roles="tomcat,manager-gui,admin-gui"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/></tomcat-users>
这样 username="tomcat" password="tomcat" 就既能访问 Manager App 又能访问 Host Manager 了。
web应用的开发前景
软件开发的两种架构C/S 和 B/S :
- C/S 架构是 客户机 - 服务器 架构:
- B/S 架构是典型的 浏览器-服务器 架构:
context元素常用属性
0 0
- javaweb-day04-5(javaWeb开发入门 - tomcat体系架构、配置https加密连接器)
- javaweb-day04-1(javaWeb开发入门 - tomcat启动问题)
- javaweb-day04-3(javaWeb开发入门 - 配置虚拟主机)
- javaweb-day04-5(javaWeb开发入门 - 其他问题)
- javaweb-day04-2(javaWeb开发入门 - 虚拟目录的映射)
- javaweb-day04-6(javaWeb开发入门 - HTTP协议1)
- javaWeb https连接器
- javaWeb day04 (配置虚拟主机)
- javaweb开发入门-Tomcat
- 【javaWeb第五天】-密码学基础和tomcat的https连接器
- javaweb-day04-6&7(javaWeb开发入门 - HTTP协议2)
- javaweb总结(3) - 互联网上的加密和https连接器
- 【JavaWeb开发(一)】Tomcat&Myeclipse配置
- javaweb-day04-4(javaWeb开发入门 - 画图演示:浏览器访问服务器的静态web资源的过程)
- JavaWeb(5)——Tomcat服务器HTTPS配置
- Tomcat配置加密连接器
- javaWeb day04 ( javaWeb基础 )
- 非对称型加密和配置tomcat的https连接器
- BASE64与单向加密算法MD5&SHA&MAC
- 10图形的绘制和常用对话框操作
- 静默安装apk
- Android中获取应用程序(包)的信息-----PackageManager的使用(一)
- jvm内存调优
- javaweb-day04-5(javaWeb开发入门 - tomcat体系架构、配置https加密连接器)
- Ubuntu14.04 CEPH 集群搭建(一)
- 和大神们学习每天一题(leetcode)-Palindrome Partitioning
- Java web----数据库连接池
- Apache POI 实现Excel文件单元格合并、冻结和文件导出
- 多个checkbox 获取选中的 并且把传递的id用逗号隔开(jQuery)
- 科技创业公司的效率工具箱
- UIRoot.BroadCast(methodname, params) Unity3d 面向对象设计思想(二)(动态UI的分配与调度)
- Android常用开源框架