jsproxy Docker 版部署方式上线啦

793 阅读1分钟

jsproxy 是一款开源的 proxy 工具,其特点是在浏览器端通过 JS 代理实现打开任意其他网站。

下图展示了 jsproxy 的基本原理:

image.png

通过代理可以访问什么服务,是和运行 jsproxy 的网络环境有关的。

jsproxy 官网给了一个部署教程,对于一个 Docker 用户来说,我更希望有对应的 Docker 部署方案。于是我就创建了 jsproxy-docker 项目。

这个项目可以帮助对 jsproxy 感兴趣的朋友快速搭建出一个自己的 proxy 服务。

快速开始

开始本项目之前,需要具备 Docker 的基础知识。如有必要,可以跟着这个文档先学习一下 Docker。

下载镜像:

docker pull rxh1212/jsproxy

启动 jsproxy 容器:

docker run -d -p 8080:8080 --name jsproxy rxh1212/jsproxy

启动以后,打开http://localhost:8080即可看到效果。

前置 Nginx proxy_pass

jsproxy 客户端使用了 service worker,要求网站运行在安全域名下——localhost或者支持 https。这个教程的目的是使用 Nginx 实现 https 访问后,通过 proxy_pass 将流量链接至 jsproxy。这样可以实现 jsproxy 服务自定义域名,同时也符合 service worker 对安全域名的要求。

Nginx 反向代理教程:github.com/manooog/jsp…

更详细的教程可以参考上面给出的文档,这里只给出 Nginx 的配置以供参考:

server {
    listen 443 ssl http2;
    # 需要自定义的域名
    server_name demo.domain.com;
    
    # 证书配置,本地测试可以使用自签名证书
    ssl_certificate /certs/cert.pem;
    ssl_certificate_key /certs/key.pem;

    location / {
      # 这行配置是关键
      proxy_set_header Host 127.0.0.1;
      proxy_pass http://jsproxy:8080;
    }
}

全文完,欢迎大家在评论区交流。