下面我将详细讲解如何在Tomcat10中配置端口号为443,并实现使用https访问网站的步骤和详细的示例说明。
1. 生成SSL证书
首先,需要先生成一个SSL证书,可以通过openssl命令行工具生成,这里举一个例子:
openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr
上面的命令会生成一个2048位的RSA密钥对和一个证书签名请求文件yourdomain.csr
,借助此文件可以到CA机构签发一张有效期为1年的SSL证书。
2. 下载Tomcat Native库
在安装Tomcat10之前,需要先下载Tomcat Native库,该库支持在Tomcat中使用本地代码以提高SSL性能,可以从以下链接下载对应的版本:Tomcat Native Downloads。
下载完成后,解压缩对应的版本,并将其中的*.dll
或*.so
文件复制到Tomcat的bin
目录下。
3. 配置Tomcat10的server.xml文件
接下来的步骤是修改Tomcat的配置文件server.xml
,找到其中
<!-- Define a SSL HTTP/1.1 Connector on port 8443
This connector uses the JSSE configuration, when using APR, the
connector should be using the OpenSSL style configuration
described in the APR documentation -->
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
type="RSA" />
</SSLHostConfig>
</Connector>
-->
这段代码是一个SSL连接器的配置模板,将其中的端口号8443
修改为需要的端口号443
,并将SSLEnabled
设置为true
,同时修改Certificate相关的内容为正确的路径信息和证书名称,修改后的代码如下所示:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS">
<SSLHostConfig>
<Certificate certificateKeyFile="/path/to/your/yourdomain.key"
certificateFile="/path/to/your/yourdomain.crt"
certificateChainFile="/path/to/your/intermediate.crt"
type="RSA" />
</SSLHostConfig>
</Connector>
其中:
– certificateKeyFile
是SSL证书的私钥文件路径;
– certificateFile
是SSL证书文件路径;
– certificateChainFile
是SSL证书链文件路径,如果证书有中间CA,需要包含中间证书;
– type
是私钥类型,RSA或DSA。
4. 验证配置是否成功
配置完成后,重启Tomcat10,打开浏览器,输入https://yourdomain:443
,验证是否能够正常访问网站。
示例说明
为了方便大家理解上述步骤,这里举两个示例说明。
示例1:通过openssl命令生成SSL证书
在命令行中执行以下命令:
openssl req -new -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr
执行完毕后,会生成一个2048位的RSA密钥对和一个证书签名请求文件example.com.csr
。
示例2:修改server.xml文件
在Tomcat安装目录中找到conf/server.xml
文件,找到如下代码:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
type="RSA" />
</SSLHostConfig>
</Connector>
将其中的端口号8443
修改为需要的端口号443
,并将SSLEnabled
设置为true
,同时修改Certificate
相关的内容为正确的路径信息和证书名称。
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS">
<SSLHostConfig>
<Certificate certificateKeyFile="/path/to/your/yourdomain.key"
certificateFile="/path/to/your/yourdomain.crt"
certificateChainFile="/path/to/your/intermediate.crt"
type="RSA" />
</SSLHostConfig>
</Connector>
配置完成后,重启Tomcat10,打开浏览器,输入https://yourdomain:443
,验证是否能够正常访问网站。
希望这些步骤和示例能够帮助你完成Tomcat10配置端口号为443并启用https访问。