tomcat https访问和使用域名访问网站

版本: centos 6.5 tomcat 9.0 java 1.8

1.首先使用keytool工具生成证书: keytool 命令的目录是:/usr/local/java/bin下 配置了java的环境就可以直接使用. keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "/usr/local/tomcat\tomcat.keystore"

相关参数解释: keytool 密钥和证书管理工具

命令: -certreq 生成证书请求 -changealias 更改条目的别名 -delete 删除条目 -exportcert 导出证书 -genkeypair 生成密钥对 -genseckey 生成密钥 -gencert 根据证书请求生成证书 -importcert 导入证书或证书链 -importpass 导入口令 -importkeystore 从其他密钥库导入一个或所有条目 -keypasswd 更改条目的密钥口令 -list 列出密钥库中的条目 -printcert 打印证书内容 -printcertreq 打印证书请求的内容 -printcrl 打印 CRL 文件的内容 -storepasswd 更改密钥库的存储口令

使用 "keytool -command_name -help" 获取 command_name 的用法

密钥库口令:123456(这个密码非常重要) 名字与姓氏:tomcat.loc(以后访问的域名或IP地址,非常重要,证书和域名或IP绑定) 组织单位名称:ljlj(随便填) 组织名称:ljlj(随便填) 城市:bj(随便填) 省市自治区:hd(随便填) 国家地区代码:dzs(随便填)

2.将证书应用到tomcat中: 修改conf/server.xml文件: <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/usr/local/tomcat/tomcat.keystore" keystorePass="123456" />

3.重新启动tomcat: ./shutdown.sh ./startup.sh

4.防火墙配置重新启动服务: -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT service iptables restart

5.访问地址: https://tomcat.loc:8443/ali_pay/

但是这样的话,需要修改防火墙的配置,开通8443端口,希望使用https的默认端口访问.

1.修改tomcat中的配置文件server.xml: 1)<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" /> 2)<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/usr/local/tomcat/tomcat.keystore" keystorePass="123456" /> 3) <Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

2.修改防火墙: -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

3.重启防火墙和tomcat.

4.访问地址: https://tomcat.loc/ali_pay 但是这样的话,需要知道访问的项目目录在tomcat的webapps中目录的名称,希望直接使用域名访问项目:

  1. <Host name="tomcat.loc" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="ali\_pay" reloadable="true"/> 2.如果有多个网址: 修要在<Engine> <Host name="pay.loc" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="ali\_pay" reloadable="true"/> </Engine>
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )