| 1 | <?xml version="1.0" encoding="UTF-8"?>
|
|---|
| 2 | <!--
|
|---|
| 3 | Licensed to the Apache Software Foundation (ASF) under one or more
|
|---|
| 4 | contributor license agreements. See the NOTICE file distributed with
|
|---|
| 5 | this work for additional information regarding copyright ownership.
|
|---|
| 6 | The ASF licenses this file to You under the Apache License, Version 2.0
|
|---|
| 7 | (the "License"); you may not use this file except in compliance with
|
|---|
| 8 | the License. You may obtain a copy of the License at
|
|---|
| 9 |
|
|---|
| 10 | http://www.apache.org/licenses/LICENSE-2.0
|
|---|
| 11 |
|
|---|
| 12 | Unless required by applicable law or agreed to in writing, software
|
|---|
| 13 | distributed under the License is distributed on an "AS IS" BASIS,
|
|---|
| 14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|---|
| 15 | See the License for the specific language governing permissions and
|
|---|
| 16 | limitations under the License.
|
|---|
| 17 | -->
|
|---|
| 18 | <!-- Note: A "Server" is not itself a "Container", so you may not
|
|---|
| 19 | define subcomponents such as "Valves" at this level.
|
|---|
| 20 | Documentation at /docs/config/server.html
|
|---|
| 21 | -->
|
|---|
| 22 | <Server port="8005" shutdown="SHUTDOWN">
|
|---|
| 23 | <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
|
|---|
| 24 | <!-- Security listener. Documentation at /docs/config/listeners.html
|
|---|
| 25 | <Listener className="org.apache.catalina.security.SecurityListener" />
|
|---|
| 26 | -->
|
|---|
| 27 | <!-- APR connector and OpenSSL support using Tomcat Native -->
|
|---|
| 28 | <Listener className="org.apache.catalina.core.AprLifecycleListener" />
|
|---|
| 29 | <!-- OpenSSL support using FFM API from Java 22 -->
|
|---|
| 30 | <!-- <Listener className="org.apache.catalina.core.OpenSSLLifecycleListener" /> -->
|
|---|
| 31 | <!-- Prevent memory leaks due to use of particular java/javax APIs-->
|
|---|
| 32 | <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
|
|---|
| 33 | <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
|
|---|
| 34 | <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
|
|---|
| 35 |
|
|---|
| 36 | <!-- Global JNDI resources
|
|---|
| 37 | Documentation at /docs/jndi-resources-howto.html
|
|---|
| 38 | -->
|
|---|
| 39 | <GlobalNamingResources>
|
|---|
| 40 | <!-- Editable user database that can also be used by
|
|---|
| 41 | UserDatabaseRealm to authenticate users
|
|---|
| 42 | -->
|
|---|
| 43 | <Resource name="UserDatabase" auth="Container"
|
|---|
| 44 | type="org.apache.catalina.UserDatabase"
|
|---|
| 45 | description="User database that can be updated and saved"
|
|---|
| 46 | factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
|
|---|
| 47 | pathname="conf/tomcat-users.xml" />
|
|---|
| 48 | </GlobalNamingResources>
|
|---|
| 49 |
|
|---|
| 50 | <!-- A "Service" is a collection of one or more "Connectors" that share
|
|---|
| 51 | a single "Container" Note: A "Service" is not itself a "Container",
|
|---|
| 52 | so you may not define subcomponents such as "Valves" at this level.
|
|---|
| 53 | Documentation at /docs/config/service.html
|
|---|
| 54 | -->
|
|---|
| 55 | <Service name="Catalina">
|
|---|
| 56 |
|
|---|
| 57 | <!--The connectors can use a shared executor, you can define one or more named thread pools-->
|
|---|
| 58 | <!--
|
|---|
| 59 | <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
|
|---|
| 60 | maxThreads="150" minSpareThreads="4"/>
|
|---|
| 61 | -->
|
|---|
| 62 |
|
|---|
| 63 |
|
|---|
| 64 | <!-- A "Connector" represents an endpoint by which requests are received
|
|---|
| 65 | and responses are returned. Documentation at :
|
|---|
| 66 | Java HTTP Connector: /docs/config/http.html
|
|---|
| 67 | Java AJP Connector: /docs/config/ajp.html
|
|---|
| 68 | APR (HTTP/AJP) Connector: /docs/apr.html
|
|---|
| 69 | Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
|
|---|
| 70 | -->
|
|---|
| 71 | <Connector port="8080" protocol="HTTP/1.1"
|
|---|
| 72 | connectionTimeout="20000"
|
|---|
| 73 | redirectPort="8443"
|
|---|
| 74 | maxParameterCount="1000"
|
|---|
| 75 | />
|
|---|
| 76 | <!-- A "Connector" using the shared thread pool-->
|
|---|
| 77 | <!--
|
|---|
| 78 | <Connector executor="tomcatThreadPool"
|
|---|
| 79 | port="8080" protocol="HTTP/1.1"
|
|---|
| 80 | connectionTimeout="20000"
|
|---|
| 81 | redirectPort="8443"
|
|---|
| 82 | maxParameterCount="1000"
|
|---|
| 83 | />
|
|---|
| 84 | -->
|
|---|
| 85 | <!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443
|
|---|
| 86 | This connector uses the NIO implementation. The default
|
|---|
| 87 | SSLImplementation will depend on the presence of the APR/native
|
|---|
| 88 | library and the useOpenSSL attribute of the AprLifecycleListener.
|
|---|
| 89 | Either JSSE or OpenSSL style configuration may be used regardless of
|
|---|
| 90 | the SSLImplementation selected. JSSE style configuration is used below.
|
|---|
| 91 | -->
|
|---|
| 92 | <!--
|
|---|
| 93 | <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
|
|---|
| 94 | maxThreads="150" SSLEnabled="true"
|
|---|
| 95 | maxParameterCount="1000"
|
|---|
| 96 | >
|
|---|
| 97 | <SSLHostConfig>
|
|---|
| 98 | <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
|
|---|
| 99 | certificateKeystorePassword="changeit" type="RSA" />
|
|---|
| 100 | </SSLHostConfig>
|
|---|
| 101 | </Connector>
|
|---|
| 102 | -->
|
|---|
| 103 | <!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443 with HTTP/2
|
|---|
| 104 | This connector uses the APR/native implementation which always uses
|
|---|
| 105 | OpenSSL for TLS.
|
|---|
| 106 | Either JSSE or OpenSSL style configuration may be used. OpenSSL style
|
|---|
| 107 | configuration is used below.
|
|---|
| 108 | -->
|
|---|
| 109 | <!--
|
|---|
| 110 | <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
|
|---|
| 111 | maxThreads="150" SSLEnabled="true"
|
|---|
| 112 | maxParameterCount="1000"
|
|---|
| 113 | >
|
|---|
| 114 | <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
|
|---|
| 115 | <SSLHostConfig>
|
|---|
| 116 | <Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
|
|---|
| 117 | certificateFile="conf/localhost-rsa-cert.pem"
|
|---|
| 118 | certificateChainFile="conf/localhost-rsa-chain.pem"
|
|---|
| 119 | type="RSA" />
|
|---|
| 120 | </SSLHostConfig>
|
|---|
| 121 | </Connector>
|
|---|
| 122 | -->
|
|---|
| 123 |
|
|---|
| 124 | <!-- Define an AJP 1.3 Connector on port 8009 -->
|
|---|
| 125 | <!--
|
|---|
| 126 | <Connector protocol="AJP/1.3"
|
|---|
| 127 | address="::1"
|
|---|
| 128 | port="8009"
|
|---|
| 129 | redirectPort="8443"
|
|---|
| 130 | maxParameterCount="1000"
|
|---|
| 131 | />
|
|---|
| 132 | -->
|
|---|
| 133 |
|
|---|
| 134 | <!-- An Engine represents the entry point (within Catalina) that processes
|
|---|
| 135 | every request. The Engine implementation for Tomcat stand alone
|
|---|
| 136 | analyzes the HTTP headers included with the request, and passes them
|
|---|
| 137 | on to the appropriate Host (virtual host).
|
|---|
| 138 | Documentation at /docs/config/engine.html -->
|
|---|
| 139 |
|
|---|
| 140 | <!-- You should set jvmRoute to support load-balancing via AJP ie :
|
|---|
| 141 | <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
|
|---|
| 142 | -->
|
|---|
| 143 | <Engine name="Catalina" defaultHost="localhost">
|
|---|
| 144 |
|
|---|
| 145 | <!--For clustering, please take a look at documentation at:
|
|---|
| 146 | /docs/cluster-howto.html (simple how to)
|
|---|
| 147 | /docs/config/cluster.html (reference documentation) -->
|
|---|
| 148 | <!--
|
|---|
| 149 | <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
|
|---|
| 150 | -->
|
|---|
| 151 |
|
|---|
| 152 | <!-- Use the LockOutRealm to prevent attempts to guess user passwords
|
|---|
| 153 | via a brute-force attack -->
|
|---|
| 154 | <Realm className="org.apache.catalina.realm.LockOutRealm">
|
|---|
| 155 | <!-- This Realm uses the UserDatabase configured in the global JNDI
|
|---|
| 156 | resources under the key "UserDatabase". Any edits
|
|---|
| 157 | that are performed against this UserDatabase are immediately
|
|---|
| 158 | available for use by the Realm. -->
|
|---|
| 159 | <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
|
|---|
| 160 | resourceName="UserDatabase"/>
|
|---|
| 161 | </Realm>
|
|---|
| 162 |
|
|---|
| 163 | <Host name="localhost" appBase="webapps"
|
|---|
| 164 | unpackWARs="true" autoDeploy="true">
|
|---|
| 165 |
|
|---|
| 166 | <!-- SingleSignOn valve, share authentication between web applications
|
|---|
| 167 | Documentation at: /docs/config/valve.html -->
|
|---|
| 168 | <!--
|
|---|
| 169 | <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
|
|---|
| 170 | -->
|
|---|
| 171 |
|
|---|
| 172 | <!-- Access log processes all example.
|
|---|
| 173 | Documentation at: /docs/config/valve.html
|
|---|
| 174 | Note: The pattern used is equivalent to using pattern="common" -->
|
|---|
| 175 | <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
|
|---|
| 176 | prefix="localhost_access_log" suffix=".txt"
|
|---|
| 177 | pattern="%h %l %u %t "%r" %s %b" />
|
|---|
| 178 |
|
|---|
| 179 | </Host>
|
|---|
| 180 | </Engine>
|
|---|
| 181 | </Service>
|
|---|
| 182 | </Server>
|
|---|