项目里面用到了一台互联网主机,之前有域名,使用的是nginx+tomcat的方式进行的配置,因一个ZF部门只能有一个域名,无奈需要撤下域名,花钱购买的https证书因为是绑定的原有域名,也没法用了,但是有微信小程序和ios app接口,这两个东西要求必须有合法的https数字证书,因此想到了用caddy自动申请免费ssl证书的方式解决。
背景交代完毕,以下是caddy做tomcat动静分离和反向代理到iis的配置参数:
http://1.2.3.4:80 { #这里使用ip地址,因为域名给撤销了
gzip
root d:\apache-tomcat\webapps\myapp #这里指向tomcat app目录路径,后面要做动静分离,静态内容由caddy处理
log d:\log\myapp.log {
rotate_size 50 # Rotate after 50 MB
rotate_age 30 # Keep rotated files for 90 days
rotate_keep 200 # Keep at most 20 log files
}
proxy /houtai localhost:8083 { #管理后台,这是一个单独的tomcat,服务端口号8083
websocket
transparent
}
proxy /othersite 127.0.0.1:8091 { #iis proxy ,这个是个iis下面的.net程序,iis服务端口号8091
#websocket
transparent
}
proxy / localhost:8082 { #主程序,tomcat服务端口号8082
transparent
websocket
except static # static路径请求不走代理,由caddy处理
without /
}
}
https://a.b.c:443 { #接口api ,使用域名,a.b.c是你的域名名称
gzip
tls demo@test.com #换成你的邮箱地址
root d:\apache-tomcat-8.5.15-api\webapps\api
proxy / localhost:8084 { #api 部署的tomcat服务端口是8084
transparent
except static #static 路径请求不走代理
}
}
https://c.d.e:443 { #微信公众号 ,这个是个静态网站,只负责提供https网页访问服务就可以了
gzip
tls 你的邮箱地址
root d:\c.d.e\gzh
}