基於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
簡化不少