Linux下Tomcat服务器开启HTTPS

前文说明

经过了大约两周的备案过程,前天终于得到了备案成功的消息,内心也是十分的激动。但是当我访问的时候,Google浏览器提示不安全,这是因为没有采用HTTPS导致的,因此开启了长达一天的痛苦摸索。

实验环境

我用的是 Linux 的 Ubantu 系统,服务器为 Tomcat9,域名是从阿里云提供的。

第一步 开启端口

首先确认您的Tomcat服务器上已经开启了443端口(HTTPS服务的默认端口),因为默认情况下,非root用户不能用1024以下的端口。

Ubantu的打开防火墙命令 sudo ufw enable

关闭防火墙 sudo ufw disable

查看状态 disable/status

对于某一个端口允许访问某一个端口:

ufw allow 端口号

拒绝访问某一个端口:

ufw deny 端口号

比如我们要打开443端口的命令为ufw allow 443。如果提示没有权限,前面加上sudo即可。

第二步 安装OpenSSL工具

查看是否安装OpenSSL工具命令为openssl version -a,安装信息如下图:

OpenSSL安装

如果没有安装,按照以下两个命令安装

sudo apt-get install openssl

sudo apt-get install libssl-dev

安装好后查看状态即可。

第三步 获取SSL证书

我们去阿里云的控制台下载SSL证书即可,至于怎么获取就不讲了,网上太多了。

Tomcat支持PFX和JKS两种验证方式,阿里云提供的是PFX格式的,我们也可以按照以下命令转换为JKS格式。

keytool -importkeystore -srckeystore PFX格式的文件名.pfx -destkeystore JKS格式的文件名.jks -srcstoretype PKCS12 -deststoretype JKS

第四步 上传证书到服务器

我们用WinSCP工具连接上服务器后,在Tomcat安装目录下新建一个cert文件夹,把我们的证书上传到该文件夹即可。新建文件夹样例图如下:

cert文件夹

第五步 添加HTTPS信息

在Tomcat安装目录/conf下修改server.xml,在里面添加如下信息。


<Connector port="443"   #port属性根据实际情况修改(https默认端口为443)。如果使用其他端口号,则您需要使用https://yourdomain:port的方式来访问您的网站。

    protocol="HTTP/1.1"

    SSLEnabled="true"

    scheme="https"

    secure="true"

    keystoreFile="Tomcat安装目录/cert/domain name.pfx" #证书名称前需加上证书的绝对路径,请使用您证书的文件名替换domain name。

    keystoreType="PKCS12"

    keystorePass="证书密码"  #请替换为密码文件pfx-password.txt中的内容。

    clientAuth="false"

    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"

    ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

第六步 查看效果

在Tomcat的bin目录下输入以下命令./shutdown.sh关闭Tomcat,使用命令./start.sh启动服务器。

在浏览器输入https://你的域名即可访问。

The end

当然,如果我们想强制使用https的话,可以修改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>

个人网站欢迎你的来访。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要重启Tomcat服务器,可以按照以下步骤进行操作: 1. 打开终端,以root用户或其他拥有管理员权限的用户身份登录到Linux系统。 2. 使用cd命令切换到Tomcat服务器的安装目录。例如,如果Tomcat服务器安装在/opt/tomcat目录下,则输入命令:cd /opt/tomcat。 3. 使用./bin/shutdown.sh命令停止Tomcat服务器。这个脚本将会发送一个关闭请求给Tomcat服务器,并等待服务器完全关闭。你可以通过观察终端输出确定是否成功停止服务器。 4. 等待Tomcat服务器完全关闭后,再次输入./bin/startup.sh命令来启动Tomcat服务器。这个脚本将会启动Tomcat服务器,并且你可以通过观察终端输出来确认服务器已经成功启动。 5. 你可以使用浏览器访问Tomcat服务器的默认端口8080(或你自定义的端口)来确认服务器已经成功重启。在浏览器地址栏中输入"http://服务器IP地址:8080",如果能够正常访问Tomcat首页,则表示服务器已经重启成功。 请注意,上述步骤是针对基于Bash Shell的Linux系统,如果你的Linux系统使用其他Shell,可能需要稍作调整。 另外,也可以考虑使用系统工具如systemctl或service来管理Tomcat服务器。比如,使用systemctl restart tomcat 或 service tomcat restart 命令可以实现重启Tomcat服务器的功能。具体命令可能因不同的Linux发行版而有所不同,你可以根据自己的系统来选择适合的命令。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值