Tomcat下多域名及SSL证书配置

host 配置多域名访问

多域名直接修改 server.xml 文件就行了,类似如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<Engine name="Catalina" defaultHost="www.default.com">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />
</Realm>
<Host name="www.default.com" appBase="/路径" unpackWARs="true" autoDeploy="true">
<Alias>default.com</Alias>
<Context path="" docBase="/路径" debug="0" reloadable="true" />
</Host>
<Host name="www.abc.com" appBase="/路径" unpackWARs="true" autoDeploy="true">
<Alias>abc.com</Alias>
<Context path="" docBase="/路径" debug="0" reloadable="true" />
</Host>
<Host name="www.123.com" appBase="/路径" unpackWARs="true" autoDeploy="true">
<Alias>123.com</Alias>
<Context path="" docBase="/路径" debug="0" reloadable="true" />
</Host>
</Engine>

开启 https 访问

生产环境的话,证书还是用正规机构颁发的证书,要不然像微信这种后台校验 https 访问会通过不了,阿里云有免费的证书,一年期,后面再续就行了。申请方式及地址:https://yq.aliyun.com/articles/637307

证书申请后,从控制台下载证书,然后放到服务器上,而后修改 server.xml,增加如下配置:

1
2
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" keystoreFile="证书路径" keystorePass="证书密码" keystoreType="PKCS12"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

搞定,另外如果服务器在阿里云,记得安全组打开 443 端口,默认 443 是不允许访问的。

本文地址: http://hmilyld.com/posts/3297192195.html