Skip to content

Commit 8a3b8a1

Browse files
authored
Merge pull request #711 from georchestra/hide-tomcat-version-in-docker
Add tomcat server xml to hide version
2 parents 7d7042d + 5e805a1 commit 8a3b8a1

File tree

2 files changed

+178
-0
lines changed

2 files changed

+178
-0
lines changed

Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ RUN if [ "$TOMCAT_EXTRAS" = false ]; then \
2222
# Add application from first stage
2323
COPY --from=extractwar /tmp/mapstore "${CATALINA_BASE}/webapps/mapstore"
2424
COPY georchestra-docker-scripts/ /
25+
# SHould be override in 2024.xx when a server.xml on 8080 will be available
26+
COPY docker/server.xml "${CATALINA_BASE}/conf/"
2527

2628

2729
# Geostore externalization template. Disabled by default

docker/server.xml

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
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 library loader. Documentation at /docs/apr.html -->
28+
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
29+
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
30+
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
31+
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
32+
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
33+
34+
<!-- Global JNDI resources
35+
Documentation at /docs/jndi-resources-howto.html
36+
-->
37+
<GlobalNamingResources>
38+
<!-- Editable user database that can also be used by
39+
UserDatabaseRealm to authenticate users
40+
-->
41+
<Resource name="UserDatabase" auth="Container"
42+
type="org.apache.catalina.UserDatabase"
43+
description="User database that can be updated and saved"
44+
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
45+
pathname="conf/tomcat-users.xml" />
46+
</GlobalNamingResources>
47+
48+
<!-- A "Service" is a collection of one or more "Connectors" that share
49+
a single "Container" Note: A "Service" is not itself a "Container",
50+
so you may not define subcomponents such as "Valves" at this level.
51+
Documentation at /docs/config/service.html
52+
-->
53+
<Service name="Catalina">
54+
55+
<!--The connectors can use a shared executor, you can define one or more named thread pools-->
56+
<!--
57+
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
58+
maxThreads="150" minSpareThreads="4"/>
59+
-->
60+
61+
62+
<!-- A "Connector" represents an endpoint by which requests are received
63+
and responses are returned. Documentation at :
64+
Java HTTP Connector: /docs/config/http.html
65+
Java AJP Connector: /docs/config/ajp.html
66+
APR (HTTP/AJP) Connector: /docs/apr.html
67+
Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
68+
-->
69+
<Connector port="8080" protocol="HTTP/1.1"
70+
connectionTimeout="20000"
71+
redirectPort="8443" />
72+
<!-- A "Connector" using the shared thread pool-->
73+
<!--
74+
<Connector executor="tomcatThreadPool"
75+
port="8080" protocol="HTTP/1.1"
76+
connectionTimeout="20000"
77+
redirectPort="8443" />
78+
-->
79+
<!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443
80+
This connector uses the NIO implementation. The default
81+
SSLImplementation will depend on the presence of the APR/native
82+
library and the useOpenSSL attribute of the
83+
AprLifecycleListener.
84+
Either JSSE or OpenSSL style configuration may be used regardless of
85+
the SSLImplementation selected. JSSE style configuration is used below.
86+
-->
87+
<!--
88+
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
89+
maxThreads="150" SSLEnabled="true">
90+
<SSLHostConfig>
91+
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
92+
type="RSA" />
93+
</SSLHostConfig>
94+
</Connector>
95+
-->
96+
<!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443 with HTTP/2
97+
This connector uses the APR/native implementation which always uses
98+
OpenSSL for TLS.
99+
Either JSSE or OpenSSL style configuration may be used. OpenSSL style
100+
configuration is used below.
101+
-->
102+
<!--
103+
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
104+
maxThreads="150" SSLEnabled="true" >
105+
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
106+
<SSLHostConfig>
107+
<Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
108+
certificateFile="conf/localhost-rsa-cert.pem"
109+
certificateChainFile="conf/localhost-rsa-chain.pem"
110+
type="RSA" />
111+
</SSLHostConfig>
112+
</Connector>
113+
-->
114+
115+
<!-- Define an AJP 1.3 Connector on port 8009 -->
116+
<!--
117+
<Connector protocol="AJP/1.3"
118+
address="::1"
119+
port="8009"
120+
redirectPort="8443" />
121+
-->
122+
123+
<!-- An Engine represents the entry point (within Catalina) that processes
124+
every request. The Engine implementation for Tomcat stand alone
125+
analyzes the HTTP headers included with the request, and passes them
126+
on to the appropriate Host (virtual host).
127+
Documentation at /docs/config/engine.html -->
128+
129+
<!-- You should set jvmRoute to support load-balancing via AJP ie :
130+
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
131+
-->
132+
<Engine name="Catalina" defaultHost="localhost">
133+
134+
<!--For clustering, please take a look at documentation at:
135+
/docs/cluster-howto.html (simple how to)
136+
/docs/config/cluster.html (reference documentation) -->
137+
<!--
138+
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
139+
-->
140+
141+
<!-- Use the LockOutRealm to prevent attempts to guess user passwords
142+
via a brute-force attack -->
143+
<Realm className="org.apache.catalina.realm.LockOutRealm">
144+
<!-- This Realm uses the UserDatabase configured in the global JNDI
145+
resources under the key "UserDatabase". Any edits
146+
that are performed against this UserDatabase are immediately
147+
available for use by the Realm. -->
148+
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
149+
resourceName="UserDatabase"/>
150+
</Realm>
151+
152+
<Host name="localhost" appBase="webapps"
153+
unpackWARs="true" autoDeploy="true">
154+
155+
<!-- SingleSignOn valve, share authentication between web applications
156+
Documentation at: /docs/config/valve.html -->
157+
<!--
158+
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
159+
-->
160+
161+
<!-- Access log processes all example.
162+
Documentation at: /docs/config/valve.html
163+
Note: The pattern used is equivalent to using pattern="common" -->
164+
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
165+
prefix="localhost_access_log" suffix=".txt"
166+
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
167+
168+
<Valve className="org.apache.catalina.valves.ErrorReportValve"
169+
showReport="false"
170+
showServerInfo="false"/>
171+
172+
173+
</Host>
174+
</Engine>
175+
</Service>
176+
</Server>

0 commit comments

Comments
 (0)