tomcat设置http自动跳转为https访问

一、生成服务器端证书文件

可以使用Windows系统或者Linux系统

(1)Windows环境

条件:已经安装JDK

步骤:

1、在运行里输入cmd进入命令窗口

2、进入JDK安装目录  如D:/Program Files/Java/jdk1.6.0/bin

3、执行命令   keytool -genkey -alias tomcat -keyalg RSA -keystore E:\tomcat.keystore -validity 36500

参数简要说明:“E:\tomcat.keystore”含义是将证书文件保存在E盘,证书文件名称是tomcat.keystore ;“-validity 36500”含义是证书有效期,36500表示100年,默认值是90天

4、在命令行填写必要的参数:

A、输入keystore密码:此处需要输入大于6个字符的字符串

B、“您的名字与姓氏是什么?”这是必填项,并且必须是TOMCAT部署主机的域名或者IP[如:gbcom.com 或者 10.1.25.251],就是你将来要在浏览器中输入的访问地址

C、“你的组织单位名称是什么?”、“您的组织名称是什么?”、“您所在城市或区域名称是什么?”、“您所在的州或者省份名称是什么?”、“该单位的两字母国家代码是什么?”可以按照需要填写也可以不填写直接回车,在系统询问“正确吗?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息

D、输入<tomcat>的主密码,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以

5、完成上述输入后,直接回车则在你在第二步中定义的位置找到生成的文件

(2)Linux环境

条件:安装了JDK

步骤:

1、进入JDK安装目录  如/root/Oracle/Middleware/jdk160_11/bin

2、执行命令     ./keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/tomcat.keystore -validity 36500

参数简要说明:“/etc/tomcat.keystore”含义是将证书文件保存在路径/usr/local/下,证书文件名称是tomcat.keystore ;“-validity 36500”含义是证书有效期,36500表示100年,默认值是90天

3、在命令行填写必要的参数:

A、Enter keystore password:此处需要输入大于6个字符的字符串

B、“What is your first and last name?”这是必填项,并且必须是TOMCAT部署主机的域名或者IP[如:gbcom.com 或者 10.1.25.251],就是你将来要在浏览器中输入的访问地址

C、“What is the name of your organizational unit?”、“What is the name of your organization?”、“What is the name of your City or Locality?”、“What is the name of your State or Province?”、“What is the two-letter country code for this unit?”可以按照需要填写也可以不填写直接回车,在系统询问“correct?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息

D、Enter key password for <tomcat>,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以

4、 完成上述输入后,直接回车则在你在第二步中定义的位置找到生成的文件

二、配置TOMCAT服务器

(1)    如果你是在Windows环境中生成证书文件,则需要将生成的证书tomcat.keystore拷贝到Tomcat将要引用的位置,假设tomcat的应用证书的路径是“E:/tomcat.keystore”,则需要将证书文件拷贝到E盘下;

(2)    配置Tomcat,打开tomcat配置文件,如:D:/apache-tomcat-6.0.29/conf/server.xml,修改如下,

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

修改参数=>

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="443" />

<!--

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

maxThreads="150" scheme="https" secure="true"

clientAuth="false" sslProtocol="TLS"/>

-->

去掉注释且修改参数=>

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"

maxThreads="150" scheme="https" secure="true"

clientAuth="false" sslProtocol="TLS" keystoreFile="E:/tomcat.keystore" keystorePass="123456789"/>

注释:标识为淡蓝色的两个参数,分别是证书文件的位置和<tomcat>的主密码,在证书文件生成过程中做了设置

<!--

<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="8443" />

-->

修改参数=>

<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="443" />

(3) 打开D:/apache-tomcat-6.0.29/conf/web.xml,在该文件</welcome-file-list>后面加上这样一段:
<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>

三、上述配置完成后,重启TOMCAT后即可以使用SSL。IE地址栏中可以直接输入地址 “http://” 会自动跳转成为 “https://”

四、注意事项:

(1)生成证书的时间,如果IE客户端所在机器的时间早于证书生效时间,或者晚于有效时间,IE会提示“该安全证书已到期或还未生效”

(2)如果IE提示“安全证书上的名称无效或者与站点名称不匹配”,则是由生成证书时填写的服务器所在主机的域名“您的名字与姓氏是什么?”/“What is your first and last name?”不正确引起的

五、遗留问题:

(1)如果AC主机不能通过域名查找,必须使用IP,但是这个IP只有在配置后才能确定,这样证书就必须在AC确定IP地址后才能生成

(2)证书文件只能绑定一个IP地址,假设有10.1.25.250 和 192.168.1.250 两个IP地址,在证书生成文件时,如使用了10.1.25.250,通过IE就只能使用10.1.25.250 来访问AC-WEB,192.168.1.250是无法访问AC-WEB的。

时间: 2024-11-05 17:33:59

tomcat设置http自动跳转为https访问的相关文章

Charles 抓包发现自动跳转为https 问题梳理

今天遇到个有点意思的问题.特此记录. 业务场景: 做了一个页面,但是对外是挂载在京东主站上.如:www.jd.com/yifu/123456.html. 现场情况: 在本地/测试环境/预发环境中,每次点击页面之前,都要删除浏览器缓存,否则是死链. 背景知识: Chrome浏览器会自动记录http->https的跳转.比如访问http://www.jd.com 自动跳转成了 https//www.jd.com ,那么下次浏览器就会直接使用https.这里的自动跳转是基于域名的,也就是同一域名下有某

nginx证书制作以及配置https并设置访问http自动跳转https(反向代理转发jboss)

nginx证书制作以及配置https并设置访问http自动跳转https 默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引用文件,通常这些文件并不在同一个软件包中.通常这个文件名类似libssl-dev. 生成证书 可以通过以下步骤生成一个简单的证书: 首先,进入你想创建证书和私钥的目录,例如: $ cd /usr/local/nginx/conf 创建服务器私钥,命令会让你输入一个口令: $

apache如何设置http自动跳转到https

https://www.cnblogs.com/niejunlei/p/5279677.html 如何设置http自动跳转到https? apache环境下,配置好https后,需要设置url重定向规则,使网站页面的http访问都自动转到https访问. 1.先打开url重定向支持 1)打开Apache/conf/httpd.conf,找到 #LoadModule rewrite_module modules/mod_rewrite.so 去掉#号. 2)找到你网站目录的<Directory>

Nginx强制http跳转https访问

Nginx强制http跳转https访问有以下几个方法 nginx的rewrite方法 可以把所有的HTTP请求通过rewrite重写到HTTPS上 配置 方法一 1 server{ 2 listen 80; 3 server_name XXXXX.com; //你的域名 4 rewrite ^(.*)$ https://XXXXXX.com permanent; 5 location ~ / { 6 index index.html index.php index.htm; 7 } 8 } 方

http实现自动跳转https的设置方法

Apache 版本 如果需要整站跳转,则在网站的配置文件的<Directory>标签内,键入以下内容: RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R=301] 复制代码 如果对某个目录做https强制跳转,则复制以下代码: RewriteEngine on RewriteBase /yourfolder RewriteCond %{SER

Tomcat配置8080强制跳转https端口变成8443或者80跳转443

Tomcat配置强制https端口变成8443 跳转端口:http默认端口 8080https默认端口 8443 或者 http默认端口 80https默认端口 443这里只讲tomcat配置,至于证书生成请参考其他文档:修改tomcat配置文件 vim /etc/tomcat/server.xml 启用ssl service.xml <Connector port="80" protocol="HTTP/1.1" connectionTimeout=&quo

手机访问pc版网站自动跳转为手机版页面

function getMCookie(objName) { var arrStr = document.cookie.split("; "); for (var i = 0; i < arrStr.length; i++) { var temp = arrStr[i].split("="); if (temp[0] == objName) { return unescape(temp[1]); } } return ""; } funct

Nginx自动跳转https

Nginx自动从http跳转到https #vim nginx.conf server { listen 80; server_name www.test.com; charset utf-8; return     301 https://$server_name$request_uri;  #添加这行,即可以实现从http跳转到https access_log  logs/wwwuat.yaok.com.log  main; location / { rewrite ^/(.*)$ //$1

Tomcat设置只需IP加端口访问项目网站

在Tomcat安装目录 webapps文件夹下新建ROOT文件夹,把项目名文件夹下的所有文件复制到ROOT文件夹里,然后正常运行打开项目即可.因为Tomcat默认启动webapps的ROOT文件夹. 如果有第二个或更多的项目要设置,需要新建webapps?文件夹,把另外的项目复制到其中.设置conf文件夹下server中的HOST标签.