文档章节

tomcat从 http转成https,并且去掉端口号

Nori
 Nori
发布于 2017/09/25 14:42
字数 456
阅读 47
收藏 0

强制使用HTTPS方式访问Tomcat中的相关项目,于是研究了下,现将具体的步骤写下: 
    主要分2步:让tomcat能使用https--->强制使用https访问 
1.让tomcat能使用https 
  A.在运行命令

JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA  -keystore     C:\Tomcat\GMAE3.0Tomcat\tomcat.keystore 


    这样就生成了证书,将证书放到合适的地方(任意地方都可以) 
  B.打开tomcat目录下的server.xml文件并找到关于ssl的相关段 
   Java代码  收藏代码

<!-- Define a SSL HTTP/1.1 Connector on port 8443  
This connector uses the JSSE configuration, when using APR, the   
connector should be using the OpenSSL style configuration  
described in the APR documentation -->  
<!--<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"  
maxThreads="150" scheme="https" secure="true"  
clientAuth="false"  sslProtocol="TLS" />-->

  C.去掉注释,添keystoreFile="C:\Tomcat\GMAE3.0Tomcat\tomcat.keystore" 
  keystorePass="tomcat"的属性 
  改动完成后配置为: 
Java代码  收藏代码

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"   maxThreads="150" scheme="https" secure="true" clientAuth="false" keystoreFile="C:\Tomcat\GMAE3.0Tomcat\tomcat.keystore" keystorePass="tomcat" sslProtocol="TLS" />

    D. 若想同时去掉8443端口号,将上述配置的8443改成443:

Java代码  收藏代码

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"   maxThreads="150" scheme="https" secure="true" clientAuth="false" keystoreFile="C:\Tomcat\GMAE3.0Tomcat\tomcat.keystore" keystorePass="tomcat" sslProtocol="TLS" />

   另外将

Java代码  收藏代码

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>

   改成

Java代码  收藏代码

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" URIEncoding="UTF-8"/>

 这样用户也可以去掉端口同时访问http和https了

  E.然后重启tomcat就能使用HTTPS访问 
2.强制https访问 
  在tomcat\conf\web.xml中的</welcome-file-list>后面加上这样一段: 

Java代码  收藏代码

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

完成以上步骤后,在浏览器中输入http的访问地址也会自动转换为https了

本文转载自:http://blog.csdn.net/lanwenbing/article/details/24741973

共有 人打赏支持
Nori
粉丝 9
博文 43
码字总数 7850
作品 0
淄博
高级程序员
私信 提问
tomcat 实现 https 登录,去掉端口号

最近项目组要给日本客户做个产品,升级服务器交由我来升级。为了测试用,想要在自己电脑上搭个服务器。 服务器需要由https登录,并且不显示端口号。 费了些劲儿,看了n多帖子,好不容易弄好了...

Macro.Bo
2014/06/09
0
0
Eclipse下通过Maven的Jetty插件运行Web工程的配置,包括启动https

引用来源 Jetty7/8 的Maven插件配置:http://wiki.eclipse.org/Jetty/Feature/JettyMaven_Plugin Jetty9 最新的Maven插件配置:http://www.eclipse.org/jetty/documentation/current/jetty-......

cokolin
2015/05/02
0
6
Windows下Apache+Tomcat实现应用集群

Windows下Apache+Tomcat实现应用集群 1 环境依赖:windows、jdk1.6、Apache2.2、tomcat6.0 2 Jdk1.6安装 2.1 略 3 安装Apache(2.2.27) 3.1 下载:从Apache官网http://httpd.apache.org/dow......

城邑耕夫
2014/07/28
0
2
tomcat 监控 — JMX方式(2)

上篇文章(tomcat 监控 — JMX方式(1))最后说到:打开防火墙以后,tomcat就不能被远程监控了,哪怕是放开了指定的端口。这篇文章主要就来解决这个问题。 tomcat官方 也说到这个问题 http...

白痴糊涂人
2018/07/11
0
0
Apache IIS Tomcat共存,配置全能服务器

通过本文您可以架设一个支持asp、asp.net、php、jsp的全能主机。我们利用tomcat来运行JSP,用IIS和Apache来运行asp、asp.net、php,实现不带端口访问网站。 举例说明:假设我们有三个网站,分...

似水的流年
2017/12/29
0
1

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 我敢给你上菜,你敢吃么?

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌 :分享周深的单曲《缘起 (前世今生版)》人间多的是长了两只脚的恶人, 《缘起 (前世今生版)》- 周深 手机党少年们想听歌,请使劲儿...

小小编辑
33分钟前
19
5
万能的Python,还能用来制作高大上的进度条?

对于开发或者运维来说,使用Python去完成一些跑批任务,或者做一些监控事件是非常正常的情况。那么如何有效的监控任务的进度,除了在任务中加上log外,还能不能有另一种方式来了解任务进展到...

上海小胖
52分钟前
8
0
如何嵌入 HTML 到 iPython notebook的输出

如何嵌入 HTML 到 iPython notebook的输出 iPython notebook中可以嵌入 HTML,也适用于JupyterHub和JupyterLab环境。不仅可以显示常用的HTML标签文本,甚至可以嵌入脚本交互操作和Frame分隔框...

openthings
今天
2
0
四、RabbitMQ3.7在CentOS7下的安装

安装依赖 sudo yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git 创建yum源 vi /etc/yum.repos.d/rabbitmq-erlang.repo [......

XuePeng77
今天
2
0
android 延长Toast的时长

示例:myToast(5000,"hello"); public void myToast(int showTime, String msg) { Toast hello = Toast.makeText(getActivity(), msg, Toast.LENGTH_SHORT); new CountDownTimer(......

雨焰
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部