基于SpringBoot框架开发的WEB应用,其中包含了数据服务接口,管理端UI。在打包的时候采用All In One
的方式打成一个fatjar或者war
最终经过java -jar app.jar
或者java -jar app.war
的方式运行程序,程序内置Tomcat容器。java
应用中有用户上传的图片,音频等文件,这些文件存储在本地磁盘 好比:D:\static
目录,经过图片的相对地址与服务地址组成的url
是没法访问的资源的。nginx
在Tomcat容器中部署应用的时候,app.war
是会被自动解压的,上传的资源文件在webapp
目录下是能够正常访问。golang
目前的方式是fatjar
,因此就须要经过WEB服务器来进行反向代理解决该问题。web
比较流行的WEB服务器例如Apache Nginx IIS Squid
。文中选择基于golang
开发的服务器caddy
。apache
Caddy是一款清新脱俗的WEB服务器。服务器
Caddy的配置很是简单并且文档也很是简洁清晰。app
下面是解决文中问题的Caddy配置文件,Caddy配置文件默认名为Caddyfile
框架
127.0.0.1:80 { gzip { } log D:\logs\access_server.log { rotate_size 10 rotate_age 10 rotate_keep 20 } root D:\static proxy / http://127.0.0.1:8081 { fail_timeout 30s max_fails 2 max_conns 50 keepalive 50 except /media } }
说明:webapp
nginx apache
简化不少