Spring Boot如何将资源委托给CDN?

时间:2017-03-26 16:53:22

标签: java spring-mvc spring-boot cdn cloudflare

在春季启动时,我会包含我自己的css或js:

<link rel="stylesheet" media="screen" th:href="@{/static/css/main.css}"/>
<script th:src="@{/static/js/modernizr.js}"></script>
<img th:src="@{/static/images/home_user.jpg}" />

生成的html如下:

<link rel="stylesheet" media="screen" href="/static/css/main-c9079afb84af98a640f97fbed5759777.css" />
<script src="/static/js/modernizr-bf2f96e6233de3d8c0346085ac28248a.js"></script>
<img src="/static/images/home_user-378972abb38069e9b18d9637bc052e3c.jpg">

Spring将签署这些文件并将签名附加为文件名。它运行良好,每个HTTP请求都会弹出并提供这些CSS / JS文件。但我希望CDN可以提供这些css / js或甚至webjar 资源。

我应用cloudflare帐户,添加static.mysite.com作为A地址,并指向我的服务器,如下所示:

cloudflare

所有static.mysite.com请求将首先转到cloudflare,如果找不到,请点击我的服务器。

我希望spring boot prepend所有static资源(JS / CSS / webjars)到http://static.mysite.com/,这样输出HTML就会变成这样:

<link rel="stylesheet" media="screen" href="http://static.mysite.com/static/css/main-c9079afb84af98a640f97fbed5759777.css" />
<script src="http://static.mysite.com/static/js/modernizr-bf2f96e6233de3d8c0346085ac28248a.js"></script>
<img src="http://static.mysite.com/static/images/home_user-378972abb38069e9b18d9637bc052e3c.jpg">

但我不知道如何做到这一点。

有人可以给一些暗示吗?感谢。

Spring Boot 1.4.5

(如果这不是个好主意,请纠正我)

0 个答案:

没有答案