Skip to content

ikrong/mini-http

Repository files navigation

一个非常轻量的静态资源服务器

这个静态服务器的主要目的就是为了部署静态资源,也只具有静态访问功能,不适用于接口开发或者资源重定向。

项目地址:

目前支持的功能如下

  • 支持静态资源访问
  • 单页面路由
  • 支持端口自定义
  • 支持https配置
  • 支持多域名配置
  • 支持自定义404页面
  • 支持gzip
  • 支持api代理

使用方法

docker run -ti --rm --init -p 80:80 ikrong/mini-http

示例

  1. 部署一个本地静态服务器,你可以这样启动
docker run -ti --rm --init -p 80:80 ikrong/mini-http
  1. 使用本地静态文件
docker run -ti --rm --init \
    -p 80:80 \
    -v /local/dir/:/www/ \
    ikrong/mini-http
  1. 使用其他端口
docker run -ti --rm --init \
    -p 8080:80 \
    -v /local/dir/:/www/ \
    ikrong/mini-http
  1. 启动 https 服务器
docker run -ti --rm --init \
    -p 443:443 \
    -v /localhost/cert/:/cert/ \
    ikrong/mini-http \
    /serve \
        --domain localhost \
        --cert /cert/cert.pem \
        --key /cert/cert.key

--domain 参数是告诉程序通过 localhost 域名访问服务

--cert 参数是告诉程序使用哪个证书

--key 参数是告诉程序使用哪个证书私钥

  1. 同时绑定多个域名
docker run -ti --rm --init \
    -p 80:80 \
    ikrong/mini-http \
    /serve \
        --domain localhost \
        --domain example.com

可以指定多对 domain 参数来绑定多个域名

  1. 多个域名指定多个静态资源
docker run -ti --rm --init \
    -p 80:80 \
    -v /res/:/html/ \
    ikrong/mini-http \
    /serve \
        --domain localhost \
        --root /html/localhost/:/html/localhost/ \
        --domain example.com \
        --root /html/example.com/:/html/example.com/

每一个 domain 后面都可以依次跟一个 root 来指定静态资源目录

domain cert key root 这四个参数 domain 是必选,其他三个选填

可以设置多组,以支持多个域名多个静态资源

  1. 单页面应用
docker run -ti --rm --init \
   -p 80:80 \
   ikrong/mini-http \
   /serve \
     --domain localhost \
     --mode history

mode 参数设置为 history 可以让对应的 domain 支持单页面应用访问

  1. API代理

有时候,后端可能部署在其他域名下,直接访问存在跨域,跨域通过API代理,来规避跨域

docker run -ti --rm --init \
   -p 80:80 \
   ikrong/mini-http \
   /serve \
     --domain localhost \
     --proxy /api:https://example.com/api \
     --skip-tls-verify true

proxy 参数跨域配置请求路径 /api 下的所有路径全部重定向到 https://example.com/api 路径下

LICENSE

MIT License