我從一個碼頭工人集裝箱生成以下/啓動如何使用我的jar外部的彈簧引導來提供靜態內容?
Step 13 : ENV WEBROOT /package/dist
---> Running in 0d0d3651fa08
---> e80c20af18ba
Removing intermediate container 0d0d3651fa08
Step 14 : USER $SPRING_APPLICATION_NAME
---> Running in 7fe20b631fee
---> 37435f78675b
Removing intermediate container 7fe20b631fee
Step 15 : CMD ls -l $WEBROOT && java -Djava.security.egd=file:/dev/urandom -Dlogging.level.org.springframework=DEBUG -Dspring.resources.static-locations=file:$WEBROOT/** -jar $JAR
---> Running in 9b71fb7bde61
---> 82e77cfde02a
Removing intermediate container 9b71fb7bde61
Successfully built 82e77cfde02a
total 1788
-rw-r--r-- 1 root root 152796 Aug 13 06:46 1dc35d25e61d819a9c357074014867ab.ttf
-rw-r--r-- 1 root root 76518 Aug 13 06:46 25a32416abee198dd821b0b17a198a8f.eot
-rw-r--r-- 1 root root 18028 Aug 13 06:46 448c34a56d699c29117adc64c43affeb.woff2
-rw-r--r-- 1 root root 108738 Aug 13 06:46 89889688147bd7575d6327160d64e760.svg
-rw-r--r-- 1 root root 170605 Aug 13 06:46 app.ff81c2c4df5a052cee7f.bundle.js
-rw-r--r-- 1 root root 87 Aug 13 06:46 app.ff81c2c4df5a052cee7f.bundle.map
-rw-r--r-- 1 root root 129946 Aug 13 06:46 aurelia-bootstrap.920ea8ba3d3ae900df6b.bundle.js
-rw-r--r-- 1 root root 307763 Aug 13 06:46 aurelia.042f8d07b45053bfe6a6.bundle.js
-rw-r--r-- 1 root root 90412 Aug 13 06:46 c8ddf1e5e5bf3682bc7bebf30f394148.woff
-rw-r--r-- 1 root root 391622 Aug 13 06:46 d7c639084f684d66a1bc66855d193ed8.svg
-rw-r--r-- 1 root root 45404 Aug 13 06:46 e18bbf611f2a2e43afc071aa2f4e1512.ttf
-rw-r--r-- 1 root root 71896 Aug 13 06:46 e6cf7c6ec7c2d6f670ae9d762604cb0b.woff2
-rw-r--r-- 1 root root 20127 Aug 13 06:46 f4769f9bdb7466be65088239c12046d1.eot
-rw-r--r-- 1 root root 23424 Aug 13 06:46 fa2772327f55d8198301fdb8bcfc8158.woff
-rw-r--r-- 1 root root 2249 Aug 13 06:46 favicon.ico
-rw-r--r-- 1 root root 568 Aug 13 06:46 index.html
-rw-r--r-- 1 root root 183950 Aug 13 06:46 styles.css
容器開始罰款,這一切,得到了很長的調試日誌的末尾
2016-08-13 08:09:17.006 DEBUG 8 --- [ main] o.s.w.s.resource.ResourceUrlProvider : Found resource handler mapping: URL pattern="/**/favicon.ico", locations=[URL [file:/package/dist/**], class path resource []], resolvers=[[email protected]df00a0]
2016-08-13 08:09:17.006 DEBUG 8 --- [ main] o.s.w.s.resource.ResourceUrlProvider : Found resource handler mapping: URL pattern="/webjars/**", locations=[class path resource [META-INF/resources/webjars/]], resolvers=[[email protected]15107f]
2016-08-13 08:09:17.006 DEBUG 8 --- [ main] o.s.w.s.resource.ResourceUrlProvider : Found resource handler mapping: URL pattern="/**", locations=[URL [file:/package/dist/**]], resolvers=[[email protected]4c50bc]
所以它看起來像它的識別路徑,我們知道里面有東西,因爲我列出了它。我打本地主機:8080(這是正確的服務器)
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.b.w.f.OrderedRequestContextFilter : Bound request context to thread: org.springframework.session.w[email protected]4a8af076
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern='/css/**']
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : '/'; against '/css/**'
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern='/js/**']
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : '/'; against '/js/**'
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern='/images/**']
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : '/'; against '/images/**'
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern='/webjars/**']
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : '/'; against '/webjars/**'
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern='/**/favicon.ico']
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : '/'; against '/**/favicon.ico'
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.s.web.util.matcher.OrRequestMatcher : Trying to match using Ant [pattern='/error']
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : '/'; against '/error'
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.s.web.util.matcher.OrRequestMatcher : No matches found
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : '/'; against '/'
2016-08-13 08:15:16.448 DEBUG 8 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy :/has an empty filter list
2016-08-13 08:15:16.449 DEBUG 8 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : DispatcherServlet with name 'dispatcherServlet' processing GET request for [/]
2016-08-13 08:15:16.450 DEBUG 8 --- [nio-8080-exec-2] o.s.b.a.e.mvc.EndpointHandlerMapping : Looking up handler method for path/
2016-08-13 08:15:16.453 DEBUG 8 --- [nio-8080-exec-2] o.s.b.a.e.mvc.EndpointHandlerMapping : Did not find handler method for [/]
2016-08-13 08:15:16.453 DEBUG 8 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Looking up handler method for path/
2016-08-13 08:15:16.454 DEBUG 8 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Did not find handler method for [/]
2016-08-13 08:15:16.454 DEBUG 8 --- [nio-8080-exec-2] o.s.w.s.handler.SimpleUrlHandlerMapping : Matching patterns for request [/] are [/**]
2016-08-13 08:15:16.454 DEBUG 8 --- [nio-8080-exec-2] o.s.w.s.handler.SimpleUrlHandlerMapping : URI Template variables for request [/] are {}
2016-08-13 08:15:16.454 DEBUG 8 --- [nio-8080-exec-2] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapping [/] to HandlerExecutionChain with handler [ResourceHttpRequestHandler [locations=[URL [file:/package/dist/**]], resolvers=[[email protected]4c50bc]]] and 1 interceptor
2016-08-13 08:15:16.454 DEBUG 8 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Last-Modified value for [/] is: -1
2016-08-13 08:15:16.454 DEBUG 8 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Null ModelAndView returned to DispatcherServlet with name 'dispatcherServlet': assuming HandlerAdapter completed request handling
2016-08-13 08:15:16.454 DEBUG 8 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Successfully completed request
2016-08-13 08:15:16.454 DEBUG 8 --- [nio-8080-exec-2] o.s.b.w.f.OrderedRequestContextFilter : Cleared thread-bound request context: org.springframework.session.w[email protected]4a8af076
2016-08-13 08:15:16.455 DEBUG 8 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : DispatcherServlet with name 'dispatcherServlet' processing GET request for [/error]
2016-08-13 08:15:16.455 DEBUG 8 --- [nio-8080-exec-2] o.s.b.a.e.mvc.EndpointHandlerMapping : Looking up handler method for path /error
2016-08-13 08:15:16.456 DEBUG 8 --- [nio-8080-exec-2] o.s.b.a.e.mvc.EndpointHandlerMapping : Did not find handler method for [/error]
2016-08-13 08:15:16.456 DEBUG 8 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Looking up handler method for path /error
2016-08-13 08:15:16.456 DEBUG 8 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Returning handler method [public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)]
2016-08-13 08:15:16.456 DEBUG 8 --- [nio-8080-exec-2] o.s.b.f.s.DefaultListableBeanFactory : Returning cached instance of singleton bean 'basicErrorController'
2016-08-13 08:15:16.456 DEBUG 8 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Last-Modified value for [/error] is: -1
2016-08-13 08:15:16.457 DEBUG 8 --- [nio-8080-exec-2] o.s.w.s.v.ContentNegotiatingViewResolver : Requested media types are [text/html, text/html;q=0.8] based on Accept header types and producible media types [text/html])
2016-08-13 08:15:16.457 DEBUG 8 --- [nio-8080-exec-2] o.s.b.f.s.DefaultListableBeanFactory : Returning cached instance of singleton bean 'error'
2016-08-13 08:15:16.457 DEBUG 8 --- [nio-8080-exec-2] o.s.w.servlet.view.BeanNameViewResolver : No matching bean found for view name 'error.html'
2016-08-13 08:15:16.457 DEBUG 8 --- [nio-8080-exec-2] o.s.w.s.v.ContentNegotiatingViewResolver : Returning [org.springfram[email protected]316bcf94] based on requested media type 'text/html'
2016-08-13 08:15:16.457 DEBUG 8 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Rendering view [org.springfram[email protected]316bcf94] in DispatcherServlet with name 'dispatcherServlet'
2016-08-13 08:15:16.457 DEBUG 8 --- [nio-8080-exec-2]
o.s.web.servlet.DispatcherServlet : Successfully completed request
困惑,爲什麼我不看的index.html是生活在/包/測距請求時,/?我得到了一個404。與IO平臺雅典RC1包裝
春季啓動(1.4.0)版本
我怎麼能爲我的靜態內容是外部罐子?
備註:我使用cloudfront,它實際上是一個反向代理,但我需要一個原始服務器來承載它。添加另一個進程是一個壞主意(imho)和其他http://techblog.netflix.com/2015/07/tuning-tomcat-for-high-throughput-fail.html。現在我不是netflix,但另一臺服務器增加了延遲,cpu爭用,內存成本,維護成本和安全漏洞風險。 – xenoterracide
不幸的是,我也試過這個,它不工作,我得到的都是404s – xenoterracide
似乎問題的一部分是它不希望將'index.html'作爲'/'或''''或隨你 – xenoterracide