source: apps/i2psnark/jetty-i2psnark.xml

Last change on this file was 5b0680b, checked in by zzz <zzz@…>, 2 years ago

i2psnark standalone: Add DNS rebinding protection
Add context config file to turn it off
Console: Mark request handled when rejecting in HostCheckHandler?
XSSFilter: Catch cascaded ISE

  • Property mode set to 100644
File size: 7.3 KB
Line 
1<?xml version="1.0" encoding="UTF-8" ?> 
2<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
3
4<!-- =============================================================== -->
5<!-- This is the configuration for a standalone i2psnark and         -->
6<!-- jetty instance connecting to a router in another jvm.           -->
7<!-- Run it with the launch-i2psnark script.                         -->
8<!-- i2psnark will be accessed at http://127.0.0.1:8002/             -->
9<!-- =============================================================== -->
10
11<!-- =============================================================== -->
12<!-- Configure the Jetty Server                                      -->
13<!-- =============================================================== -->
14<Configure id="Server" class="org.eclipse.jetty.server.Server">
15
16  <!-- =============================================================== -->
17  <!-- Configure the Request Listeners                                 -->
18  <!-- =============================================================== -->
19
20  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
21  <!-- Add and configure a HTTP listener to port 8002                  -->
22  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
23  <Call name="addConnector">
24    <Arg>
25        <New class="org.eclipse.jetty.server.ServerConnector">
26          <Arg><Ref id="Server" /></Arg>
27          <Arg type="int">1</Arg>     <!-- number of acceptors -->
28          <Arg type="int">0</Arg>     <!-- default number of selectors -->
29          <Arg>
30            <Array type="org.eclipse.jetty.server.ConnectionFactory">    <!-- varargs so we need an array -->
31              <Item>
32                <New class="org.eclipse.jetty.server.HttpConnectionFactory">
33                  <Arg>
34                    <New class="org.eclipse.jetty.server.HttpConfiguration" />
35                  </Arg>
36                </New>
37              </Item>
38            </Array>
39          </Arg>
40          <Set name="host">127.0.0.1</Set>
41          <Set name="port">8002</Set>
42          <Set name="idleTimeout">600000</Set>
43        </New>
44    </Arg>
45  </Call>
46
47  <!-- =============================================================== -->
48  <!-- Configure the Contexts                                          -->
49  <!-- =============================================================== -->
50
51    <!-- =========================================================== -->
52    <!-- Set handler Collection Structure                            --> 
53    <!-- =========================================================== -->
54    <Set name="handler">
55      <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
56        <Set name="handlers">
57         <Array type="org.eclipse.jetty.server.Handler">
58           <Item>
59             <New id="HostChecker" class="org.klomp.snark.standalone.HostCheckHandler"/>
60           </Item>
61           <Item>
62             <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
63           </Item>
64           <Item>
65             <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
66           </Item>
67         </Array>
68        </Set>
69      </New>
70    </Set>
71
72    <!-- =============================================================== -->
73    <!-- Create the deployment manager                                   -->
74    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
75    <!-- The deplyment manager handles the lifecycle of deploying web    -->
76    <!-- applications. Apps are provided by instances of the             -->
77    <!-- AppProvider interface.  Typically these are provided by         -->
78    <!-- one or more of:                                                 -->
79    <!--   jetty-webapps.xml       - monitors webapps for wars and dirs  -->
80    <!--   jetty-contexts.xml      - monitors contexts for context xml   -->
81    <!--   jetty-templates.xml     - monitors contexts and templates     -->
82    <!-- =============================================================== -->
83    <Call name="addBean">
84      <Arg>
85        <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
86          <Set name="contexts">
87            <Ref id="Contexts" />
88          </Set>
89          <Call name="setContextAttribute">
90            <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
91            <Arg>.*/.*jsp-api-[^/]*\.jar$|.*/.*jsp-[^/]*\.jar$|.*/.*taglibs[^/]*\.jar$</Arg>
92          </Call>
93        </New>
94      </Arg>
95    </Call>
96
97    <!-- =========================================================== -->
98    <!-- Configure the context deployer                              -->
99    <!-- A context deployer will deploy contexts described in        -->
100    <!-- configuration files discovered in a directory.              -->
101    <!-- The configuration directory can be scanned for hot          -->
102    <!-- deployments at the configured scanInterval.                 -->
103    <!--                                                             -->
104    <!-- This deployer is configured to deploy contexts configured   -->
105    <!-- in the $JETTY_HOME/contexts directory                       -->
106    <!--                                                             -->
107    <!-- =========================================================== -->
108    <Ref id="DeploymentManager">
109      <Call name="addAppProvider">
110        <Arg>
111          <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
112            <Set name="monitoredDirName">./contexts</Set>
113            <Set name="scanInterval">0</Set>
114          </New>
115        </Arg>
116      </Call>
117    </Ref>
118
119    <!-- =========================================================== -->
120    <!-- Configure the webapp deployer.                              -->
121    <!-- A webapp  deployer will deploy standard webapps discovered  -->
122    <!-- in a directory at startup, without the need for additional  -->
123    <!-- configuration files.    It does not support hot deploy or   -->
124    <!-- non standard contexts (see ContextDeployer above).          -->
125    <!--                                                             -->
126    <!-- This deployer is configured to deploy webapps from the      -->
127    <!-- $JETTY_HOME/webapps directory                               -->
128    <!--                                                             -->
129    <!-- Normally only one type of deployer need be used.            -->
130    <!--                                                             -->
131    <!-- =========================================================== -->
132    <Ref id="DeploymentManager">
133      <Call id="webappprovider" name="addAppProvider">
134        <Arg>
135          <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
136            <Set name="monitoredDirName">./webapps</Set>
137            <Set name="parentLoaderPriority">false</Set>
138            <Set name="extractWars">false</Set>
139            <Set name="scanInterval">0</Set>
140          </New>
141        </Arg>
142      </Call>
143    </Ref>
144
145    <!-- ===================== -->
146    <!-- DefaultHandler config -->
147    <!-- http://stackoverflow.com/questions/4202275/how-to-prevent-jetty-from-showing-context-related-information -->
148    <!-- ===================== -->
149    <Ref id="DefaultHandler">
150      <Set name="showContexts">false</Set>
151    </Ref>
152
153</Configure>
Note: See TracBrowser for help on using the repository browser.