Windows Server中tomcat配置https

1.准备证书

1.1 SSL证书格式

  • .DER .CER,二进制文件格式,只保存证书,不保存私钥。
  • .PEM,一般是文本格式,可保存证书,可保存私钥。
  • .CRT,可以是二进制格式,可以是文本格式,与 .DER 格式相同,不保存私钥。
  • .PFX .P12,二进制格式,同时包含证书和私钥,有密码保护。
  • .JKS,二进制格式,同时包含证书和私钥,有密码保护。
    这里我们选用jks与pem格式。

    1.2 申请证书

    一般可以在域名服务商哪里申请下载。
    ssl格式转换网站:https://myssl.com/cert_convert.html,可将pem格式转为jks格式

    2.部署证书

    如果443端口正常,将下面8443端口改为443端口。

    2.1 JKS格式

    先将jks证书复制到tomcat的conf文件夹
    将tomcat中conf文件夹下server.xml文件添加(监听80端口一般已经设置):

    <Connector port="80" redirectPort="8443" connectionTimeout="20000" protocol="HTTP/1.1"/>
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" maxThreads="150">
    <SSLHostConfig>
    <Certificate type="RSA" certificateKeystorePassword="123456" certificateKeystoreFile="conf/tomcat.jks"/>
    </SSLHostConfig>
    </Connector>

    参数解释:
    redirectPort="8443":是当有SSL请求时重定位到8443端口,可以修改为443端口,如果443端口没有被占用的话。
    port:指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求。
    certificateKeystorePassword="123456",密码 certificateKeystoreFile="conf/tomcat.jks",证书文件。
    修改完后,重启tomcat.

    2.2 pem格式

    先将pem证书复制到tomcat的conf文件夹。
    将tomcat中conf文件夹下server.xml文件添加(监听80端口一般已经设置):

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol" maxThreads="150" SSLEnabled="true" > <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> <SSLHostConfig> <Certificate certificateKeyFile="conf/localhost-rsa-key.pem" certificateFile="conf/localhost-rsa-cert.pem" certificateChainFile="conf/localhost-rsa-chain.pem" type="RSA" /> </SSLHostConfig> </Connector>

    将localhost-rsa-cert.pem修改为证书名称。修改完后,重启tomcat.

    2.3 http强制跳转https

    在conf目录web.xml文件中添加:

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

    3.查看证书是否部署成功


    由于这里证书已过期,所以https为红色。之后放行8443端口,原来的网站应该可以使用https访问。

    4.server.xml文件

    项目配置其它目录,添加:

    <Context docBase="C:\upload" path="/upload"/>

    5.查看端口占用

    查找所有运行的端口

    netstat -ano

    查看被占用端口对应的 PID

    netstat -aon|findstr "80"

    查看指定 PID 的进程

    tasklist|findstr "9988"

    结束进程
    强制(/F参数)杀死 pid 为 9988 的所有进程包括子进程(/T参数):

    taskkill /T /F /PID 9988
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇