您的位置:首页 > 理论基础 > 计算机网络

tomcat开启https

2018-02-22 23:27 197 查看
FreeSSL 为例,申请免费证书



输入域名,点击创建(域名随便买个,我3元买了一年的.top域名)



输入邮箱,点击生成



登陆域名管理平台



点击确定后,回到FreeSSL官网,第三步那里,点击验证



由于我是在java环境,tomcat服务器上使用的,并且使用jks(pkcs12)文件

方法一:

去在线合成jks文件的网站,把上面得到的复制粘贴进去就会生成需要的jks文件

方法二:

下载第5步的证书密钥文件



windows下 安装 openssl

在解压后的目录执行

openssl pkcs12 -export -in full_chain.pem -inkey private.key -out server.p12


得到pkcs12文件

然后使用jdk的keytool命令

keytool -importkeystore -srckeystore server.p12 -destkeystore server.jks -srcstoretype pkcs12 -deststoretype jks


将pkcs12转为jks文件

把上面得到的jks(p12)文件放到tomcat安装目录的conf下(其他目录也行),然后在conf目录下的server.xml里新增

<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreType="jks"
keystoreFile="conf/server.jks"
keystorePass="tomcat"
clientAuth="false" sslProtocol="TLS"/>


tomcat8.5版本以下和上面类似(server.xml里已经有,被注释掉了,修改一下即可,8.5及以上备注是的部分有点不一样,直接把这一串复制进去即可)

keystoreType为证书类型(jre默认是jks,如果使用jks可不用写,如果使用p12则改为pkcs12(jre8内部好像做了调整,不需要修改,大概是会自己识别,不过8以下要对应))

keystoreFile为文件位置,这里是刚才放到的conf目录下

keystorePass为生成生成证书要求输入的密码

由于域名未备案,修改hosts文件(位于
C:\Windows\System32\drivers\etc




将刚才的域名映射到本机

启动tomcat,访问https://abc.top:端口(你的域名,端口可在server.xml里设置如果http设置为80,https设置为443则不用输端口号),成功

将http请求重定向到https

在tomcat ,conf目录下 的web.xml最下面添加



<security-constraint>
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>//需要重定向到https的url请求
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>


END
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tomcat https ssl java