时隔一年多,最近工作,遇到了新的想法,部署静态资源的时候,不可避免需要请求后端,为了方便,新增了一个API代理转发功能。
紧接着一年前的运行示例,下面的API代理转发的参数,只有1个参数,proxy。配置路径和转发地址后,在静态页面里请求相关路径,就会全部转发至配置的地址上,并且支持websocket。
- API代理
有时候,后端可能部署在其他域名下,直接访问存在跨域,跨域通过API代理,来规避跨域
docker run -ti --rm --init \
-p 80:80 \
ikrong/mini-http \
/serve \
--domain localhost \
--proxy /api:https://example.com/api
proxy 参数跨域配置请求路径 /api 下的所有路径全部重定向到 https://example.com/api 路径下
另外在使用的过程中,当设置了其他端口,比如 8944,并且配置为https访问,理论上需要将地址写为 https://localhost:8944 但是,经常被错误写为 http://localhost:8944。这个时候,响应就会出现一个页面错误:Client sent an HTTP request to an HTTPS server.
这个错误很不友好,我觉得既然服务知道自己的https,就应该重定向至https协议,允许用户犯错,所以,又增加了一个以http协议访问https端口时,自动重定向的功能。这个不需要参数,强制重定向的。
具体代码实现有点长,具体可以看Github代码仓库。
需要注意,这个功能和80端口重定向至443端口是不一样的,目前不支持80重定向443。
最后,再回顾一下目前这个静态服务器支持的所有功能
- 支持静态资源访问
- 单页面路由
- 支持端口自定义
- 支持https配置
- 支持多域名配置
- 支持自定义404页面
- 支持gzip
- 支持api代理
如果,你也有想法,可以告诉我,我来加!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。