2019年7月

host 配置多域名访问

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

<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,增加如下配置:

<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 是不允许访问的。