≡菜单

在Tomcat服务器上启用SSL / HTTPS的2个简单步骤

如果您正在运行仅在HTTP上运行的tomcat服务器,请按照下面提到的2个简单步骤为SSL配置tomcat。

1.使用Java keytool创建密钥库

首先使用keytool创建一个Java密钥库,如下所示。确保记下创建密钥库时输入的密码。

# $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
Enter keystore password:
Re-enter new password:
What is your first and last name?
 [Unknown]:  拉梅什·纳塔拉詹(Ramesh Natarajan)
What is the name of your organizational unit?
 [Unknown]:  Development
What is the name of your organization?
 [Unknown]:
What is the name of your City or Locality?
 [Unknown]:  Los Angeles
What is the name of your State or Province?
 [Unknown]:  CA
What is the two-letter country code for this unit?
 [Unknown]:  US
Is CN=Ramesh, OU=Development, O=Unknown, L=Los Angeles, ST=CA, C=US correct?
 [no]:  yes

Enter key password for 
   (RETURN if same as keystore password):

这将在/ root主目录下创建.keystore文件,如下所示。

# ls -l /root/.keystore
-rw-r--r-- 1 root root 1391 Apr  6 11:19 .keystore

2.修改server.xml文件

找到位于tomcat目录下的conf / server.xml文件。如果 连接器端口=”8443″ 已被注释掉,您应该先取消注释。请注意,server.xml文件中的注释包含在<!– and –>如下所示。您应该从以下代码段中删除第一行和最后一行。

# vi server.xml
   <!--
   <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
              maxThreads="150" scheme="https" secure="true"
              clientAuth="false" sslProtocol="TLS" />
   -->

现在,将密钥库信息添加到server.xml中,如下所示。创建密钥库时,将您的密钥密码替换为您在步骤1中提供的密码。

# vi server.xml
   <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
              maxThreads="150" scheme="https" secure="true"
              keystoreFile="/root/.keystore" keystorePass="your-key-password"
              clientAuth="false" sslProtocol="TLS" />

最后,重新启动tomcat服务器并使用http:// _ {your-ip-address}:8443 /访问应用程序

如果您喜欢这篇文章,您可能还会喜欢..

  1. 50个Linux Sysadmin教程
  2. 50个最常用的Linux命令(包括示例)
  3. 排名前25位的最佳Linux性能监视和调试工具
  4. 妈妈,我找到了! – 15个实用的Linux Find命令示例
  5. Linux 101 Hacks第二版电子书 Linux 101黑客手册

Bash 101 Hacks书 Sed和Awk 101黑客手册 Nagios Core 3书 Vim 101黑客手册

{ 10 评论… 加一 }

  • 塞朱的乔治 2011年9月16日,上午3:10

    非常感谢这种新方法。

    但是有一个简单的方法…。,我们可以编辑/etc/httpd/conf.d/ssl.conf

    我们可以在默认虚拟主机配置中添加此行…

    代理请求关闭

    ProxyPass / http:// localhost:9090 /
    ProxyPassReverse / http:// localhost:9090 /

    如果找不到ssl.conf,则可以使用yum安装mod_ssl。

    谢谢& regds
    赛菊

  • 塞朱的乔治 2011年9月16日,上午3:12

    在watever端口上,tomcat正在运行…

    ProxyPass / http:// localhost:8080 /
    ProxyPassReverse / http:// localhost:8080 /

  • 贾拉尔·哈吉霍拉马利 2011年9月16日,上午5:48

    你好

    非常有用的文章…

  • 约翰 2012年2月16日,上午11:09

    一个愚蠢的问题怎么样。
    如何使用签名证书启用SSL?这就是我所拥有的:
    更改server.xml:

    然后’s it. Right?

  • Sudhakara Atluri 2013年3月1日,下午2:44

    嗨Ramesh,

    我尝试在Windows计算机上执行此操作。它在哪里创建“.keystore” file?

    keytool -genkey -alias tomcat -keyalg RSA

    谢谢,
    Sudhakara Atluri。

  • 阿尔潘 2014年1月2日,下午2:08

    我们如何从生产站点的URL中删除8443?

  • 吉汉·索里亚尼亚娜(Gihan Sooriyasena) 2014年8月31日,上午12:54

    嗨Ramesh,

    我有个问题。

    我有crt文件和密钥。因此,如何使用这两个文件为SSL配置tomcat。
    请帮我。

    谢谢,
    吉汉

  • 费萨尔 2015年5月28日,上午12:15

    我在生成密钥在server.xml中进行了以下更改后在ubuntu 12.04上进行了尝试:
    APR文档中所述–>

    但它没有用。

  • 柏戈图 2017年3月20日,上午12:37

    我知道此线程或页面确实很旧,但是按照步骤操作后出现问题。

    我检查了以下内容:

    1)生成.keystore [确定]。
    2)正确更新了server.xml,并在密钥文件部分中使用了正确的路径,所有情况均正确[OK]。
    3)catalina.out中没有错误[确定]。

    重新启动tomcat之后,我仍然可以访问普通端口8080,但是当我访问8443时…页面加载将永远完成。

    任何的想法?

    谢谢。

  • Sandeep 2017年5月15日,下午12:50

    你好,

    我可以在tomcat的ssl配置中使用其他端口(不是8443或443)吗?我在同一台服务器上运行3个不同的应用程序。这3个都需要在Tomcat中进行ssl配置。任何帮助表示赞赏。

发表评论