1<?xml version="1.0" encoding="UTF-8"?> 2<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 5 6 <display-name>Ubiquiti Networks: Management Console</display-name> 7 8 <servlet> 9 <servlet-name>UniFiResourceServlet</servlet-name> 10 <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> 11 <init-param> 12 <param-name>precompressed</param-name> 13 <param-value>true</param-value> 14 </init-param> 15 <load-on-startup>1</load-on-startup> 16 </servlet> 17 <servlet-mapping> 18 <servlet-name>UniFiResourceServlet</servlet-name> 19 <url-pattern>/app-unifi/*</url-pattern> 20 </servlet-mapping> 21 22 <!-- Device Management Servlets --> 23 <servlet> 24 <servlet-name>InformServlet</servlet-name> 25 <servlet-class>com.ubnt.net.InformServlet</servlet-class> 26 <load-on-startup>1</load-on-startup> 27 </servlet> 28 <servlet-mapping> 29 <servlet-name>InformServlet</servlet-name> 30 <url-pattern>/inform</url-pattern> 31 </servlet-mapping> 32 33 <servlet> 34 <servlet-name>ElbServlet</servlet-name> 35 <servlet-class>com.ubnt.net.ElbServlet</servlet-class> 36 <load-on-startup>1</load-on-startup> 37 </servlet> 38 <servlet-mapping> 39 <servlet-name>ElbServlet</servlet-name> 40 <url-pattern>/elb</url-pattern> 41 </servlet-mapping> 42 43 <!-- API Servlets --> 44 <servlet> 45 <servlet-name>ApiServlet</servlet-name> 46 <servlet-class>com.ubnt.ace.api.ApiServlet</servlet-class> 47 <load-on-startup>1</load-on-startup> 48 </servlet> 49 <servlet-mapping> 50 <servlet-name>ApiServlet</servlet-name> 51 <url-pattern>/api/*</url-pattern> 52 </servlet-mapping> 53 54 <!-- Download Servlet --> 55 <servlet> 56 <servlet-name>DownloadServlet</servlet-name> 57 <servlet-class>com.ubnt.ace.view.DownloadServlet</servlet-class> 58 </servlet> 59 <servlet-mapping> 60 <servlet-name>DownloadServlet</servlet-name> 61 <url-pattern>/dl/*</url-pattern> 62 </servlet-mapping> 63 <servlet-mapping> 64 <servlet-name>DownloadServlet</servlet-name> 65 <url-pattern>/file/*</url-pattern> 66 </servlet-mapping> 67 <servlet-mapping> 68 <servlet-name>DownloadServlet</servlet-name> 69 <url-pattern>/diag/*</url-pattern> 70 </servlet-mapping> 71 72 <!-- Upload Servlet --> 73 <servlet> 74 <servlet-name>UploadServlet</servlet-name> 75 <servlet-class>com.ubnt.ace.view.UploadServlet</servlet-class> 76 </servlet> 77 <servlet-mapping> 78 <servlet-name>UploadServlet</servlet-name> 79 <url-pattern>/upload/*</url-pattern> 80 </servlet-mapping> 81 82 <!-- Stream Servlet --> 83 <servlet> 84 <servlet-name>StreamServlet</servlet-name> 85 <servlet-class>com.ubnt.ace.view.StreamServlet</servlet-class> 86 <async-supported>true</async-supported> 87 </servlet> 88 <servlet-mapping> 89 <servlet-name>StreamServlet</servlet-name> 90 <url-pattern>/stream/output/*</url-pattern> 91 </servlet-mapping> 92 93 <!-- handles print requests --> 94 <servlet> 95 <servlet-name>PrintServlet</servlet-name> 96 <servlet-class>com.ubnt.ace.view.PrintServlet</servlet-class> 97 </servlet> 98 <servlet-mapping> 99 <servlet-name>PrintServlet</servlet-name> 100 <url-pattern>/print/*</url-pattern> 101 </servlet-mapping> 102 103 <!-- handles the guest portal --> 104 <servlet> 105 <servlet-name>GuestServlet</servlet-name> 106 <servlet-class>com.ubnt.ace.view.GuestServlet</servlet-class> 107 </servlet> 108 <servlet-mapping> 109 <servlet-name>GuestServlet</servlet-name> 110 <url-pattern>/guest/*</url-pattern> 111 </servlet-mapping> 112 113 <servlet> 114 <servlet-name>UpnpServlet</servlet-name> 115 <servlet-class>com.ubnt.ace.view.UpnpServlet</servlet-class> 116 </servlet> 117 <servlet-mapping> 118 <servlet-name>UpnpServlet</servlet-name> 119 <url-pattern>/upnp</url-pattern> 120 </servlet-mapping> 121 122 <!-- 123 status servlet is used by the Launcher to query the current 124 status of the server during starting up 125 --> 126 <servlet> 127 <servlet-name>ServiceServlet</servlet-name> 128 <servlet-class>com.ubnt.ace.view.ServiceServlet</servlet-class> 129 </servlet> 130 <servlet-mapping> 131 <servlet-name>ServiceServlet</servlet-name> 132 <url-pattern>/status</url-pattern> 133 </servlet-mapping> 134 <servlet-mapping> 135 <servlet-name>ServiceServlet</servlet-name> 136 <url-pattern>/global-info</url-pattern> 137 </servlet-mapping> 138 <servlet-mapping> 139 <servlet-name>ServiceServlet</servlet-name> 140 <url-pattern>/ident</url-pattern> 141 </servlet-mapping> 142 <servlet-mapping> 143 <servlet-name>ServiceServlet</servlet-name> 144 <url-pattern>/services/*</url-pattern> 145 </servlet-mapping> 146 <servlet-mapping> 147 <servlet-name>ServiceServlet</servlet-name> 148 <url-pattern>/local-sta/*</url-pattern> 149 </servlet-mapping> 150 <servlet-mapping> 151 <servlet-name>ServiceServlet</servlet-name> 152 <url-pattern>/element_adopt</url-pattern> 153 </servlet-mapping> 154 <!-- UI Servlets --> 155 156 <!-- 157 <servlet> 158 <servlet-name>shell</servlet-name> 159 <jsp-file>/shell.html</jsp-file> 160 </servlet> 161 --> 162 163 <!-- 164 <servlet-mapping> 165 <servlet-name>shell</servlet-name> 166 <url-pattern>/shell</url-pattern> 167 </servlet-mapping> 168 --> 169 170 <filter> 171 <filter-name>AuthFilter</filter-name> 172 <filter-class>com.ubnt.ace.view.AuthFilter</filter-class> 173 <async-supported>true</async-supported> 174 <!-- 175 <init-param> 176 <param-name>skip</param-name> 177 <param-value>false</param-value> 178 </init-param> 179 --> 180 </filter> 181 182 <filter> 183 <filter-name>UbiosHttpsFilter</filter-name> 184 <filter-class>com.ubnt.ace.view.UbiosHttpsFilter</filter-class> 185 <async-supported>true</async-supported> 186 </filter> 187 188 <filter> 189 <filter-name>WsEndpointFilter</filter-name> 190 <filter-class>com.ubnt.ace.ws.WsEndpointFilter</filter-class> 191 <async-supported>true</async-supported> 192 </filter> 193 194 <filter> 195 <filter-name>ResourceRewriteFilter</filter-name> 196 <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> 197 <async-supported>true</async-supported> 198 <init-param> 199 <param-name>confPath</param-name> 200 <param-value>/WEB-INF/resourcerewrite.xml</param-value> 201 </init-param> 202 <init-param> 203 <param-name>logLevel</param-name> 204 <param-value>WARN</param-value> 205 </init-param> 206 </filter> 207 208 <filter> 209 <filter-name>UrlRewriteFilter</filter-name> 210 <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> 211 <async-supported>true</async-supported> 212 <init-param> 213 <param-name>logLevel</param-name> 214 <param-value>WARN</param-value> 215 </init-param> 216 </filter> 217 218 <filter> 219 <filter-name>requestMetricsFilter</filter-name> 220 <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 221 <async-supported>true</async-supported> 222 </filter> 223 224 <!-- 225 UbiosHttpsFilter allows to call only specific endpoints on the https connector with ubios 226 --> 227 <filter-mapping> 228 <filter-name>UbiosHttpsFilter</filter-name> 229 <url-pattern>*</url-pattern> 230 </filter-mapping> 231 232 <filter-mapping> 233 <filter-name>ResourceRewriteFilter</filter-name> 234 <url-pattern>/manage/*</url-pattern> 235 <url-pattern>/setup/*</url-pattern> 236 <dispatcher>REQUEST</dispatcher> 237 <dispatcher>ASYNC</dispatcher> 238 </filter-mapping> 239 240 <!-- 241 AuthFilter handles all the requests to the Admin interface ONLY 242 --> 243 <filter-mapping> 244 <filter-name>AuthFilter</filter-name> 245 <url-pattern>/</url-pattern> 246 <url-pattern>/v2/*</url-pattern> 247 <url-pattern>/manage/*</url-pattern> 248 <url-pattern>/logout/*</url-pattern> 249 <url-pattern>/setup/*</url-pattern> 250 <url-pattern>/guest/preview/*</url-pattern> 251 <url-pattern>/api/*</url-pattern> 252 <url-pattern>/wss/*</url-pattern> 253 <url-pattern>/file/*</url-pattern> 254 <url-pattern>/print/*</url-pattern> 255 <url-pattern>/op/*</url-pattern> 256 <url-pattern>/upload/*</url-pattern> 257 <!-- /dl/firmware was intentionally omitted here --> 258 <url-pattern>/dl/cloud-autobackup/*</url-pattern> 259 <url-pattern>/dl/autobackup/*</url-pattern> 260 <url-pattern>/dl/backup/*</url-pattern> 261 <url-pattern>/dl/logfile/*</url-pattern> 262 <url-pattern>/dl/support/*</url-pattern> 263 <url-pattern>/diag/*</url-pattern> 264 <dispatcher>REQUEST</dispatcher> 265 <dispatcher>ASYNC</dispatcher> 266 </filter-mapping> 267 268 <filter-mapping> 269 <filter-name>requestMetricsFilter</filter-name> 270 <url-pattern>/api/*</url-pattern> 271 <url-pattern>/v2/api/*</url-pattern> 272 <dispatcher>REQUEST</dispatcher> 273 <dispatcher>ASYNC</dispatcher> 274 </filter-mapping> 275 276 <filter-mapping> 277 <filter-name>UrlRewriteFilter</filter-name> 278 <url-pattern>/manage/*</url-pattern> 279 <url-pattern>/setup/*</url-pattern> 280 <url-pattern>/verify/*</url-pattern> 281 <url-pattern>/sso_login/*</url-pattern> 282 <url-pattern>/api/ucore/support-dump</url-pattern> 283 <url-pattern>/api/ucore/backup/*</url-pattern> 284 <url-pattern>/api/set/setting/provider_capabilities</url-pattern> 285 <dispatcher>REQUEST</dispatcher> 286 <dispatcher>ASYNC</dispatcher> 287 </filter-mapping> 288 289 <filter-mapping> 290 <filter-name>WsEndpointFilter</filter-name> 291 <url-pattern>/wss/*</url-pattern> 292 <dispatcher>REQUEST</dispatcher> 293 <dispatcher>ASYNC</dispatcher> 294 </filter-mapping> 295 296 <session-config> 297 <session-timeout>60</session-timeout> 298 </session-config> 299</web-app> 300