美文网首页
在docker中使用caddy和trojan-go搭建网络代理服

在docker中使用caddy和trojan-go搭建网络代理服

作者: 吾等斩去红尘时 | 来源:发表于2022-05-05 10:20 被阅读0次

    前期准备工作

    关闭防火墙

    ufw disable
    

    更新索引和相关依赖

    apt update
    

    创建/var/www/html目录存放index.html网页文件

    mkdir -p /var/www/html
    

    创建/etc/caddy目录存放Caddyfile配置文件

    mkdir -p /etc/caddy
    

    创建/etc/trojan-go目录存放config.json配置文件

    mkdir -p /etc/trojan-go
    

    签发证书

    安装acme.sh,将my@example.com替换为你自己的邮件

    wget -O -  https://get.acme.sh | sh -s email=my@example.com
    

    安装socat,使用acme.sh申请证书必须安装它

    apt install -y socat
    

    申请证书,将example.com替换为你自己的域名,并保证80端口没有被占用

    ~/.acme.sh/acme.sh --issue -d example.com --standalone
    

    安装证书,将example.com替换为你自己的域名,将server.keyserver.crt文件安装在/etc/trojan-go目录中

    ~/.acme.sh/acme.sh --install-cert -d example.com --key-file /etc/trojan-go/server.key --fullchain-file /etc/trojan-go/server.crt
    

    升级acme.sh

    ~/.acme.sh/acme.sh --upgrade --auto-upgrade
    

    安装docker

    卸载旧版本容器

    sudo apt-get remove docker docker-engine docker.io containerd runc
    

    更新索引和相关依赖

    sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release
    

    信任公钥

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    

    添加软件仓库

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    

    安装docker

    sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
    

    搭建caddy

    docker中部署caddy来搭建网站伪装trojan-go程序,在/var/www/html目录下创建index.html网页文件

    nano /var/www/html/index.html
    

    /var/www/html/index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>网站建设中</title>
    </head>
    <body>
        <p>网站建设中</p>
    </body>
    </html>
    

    /etc/caddy目录下创建Caddyfile配置文件

    nano /etc/caddy/Caddyfile
    

    /etc/caddy/Caddyfile

    :80 {
      root /www
      index index.html
    }
    

    启动caddy,这时你可以通过 ip 来访问网站了

    docker run -d --network host --name caddy --restart=always -v /etc/caddy:/etc/caddy -v /var/www/html:/www teddysun/caddy
    

    搭建trojan-go

    docker中部署trojan-go实现网络代理服务,在/etc/trojan-go目录下创建config.json配置文件,将配置文件中的password替换为你自己的密码,将配置文件中的example.com替换为你自己的域名

    nano /etc/trojan-go/config.json
    

    /etc/trojan-go/config.json

    {
        "run_type": "server",
        "local_addr": "0.0.0.0",
        "local_port": 443,
        "remote_addr": "127.0.0.1",
        "remote_port": 80,
        "password": [
            "password"
        ],
        "ssl": {
            "cert": "/etc/trojan-go/server.crt",
            "key": "/etc/trojan-go/server.key",
            "sni": "example.com"
        }
    }
    

    启动trojan-go容器,这时你可以通过客户端连接它实现网络代理了,访问youtube.com看看是不是可以看视频了

    docker run -d --network host --name trojan-go --restart=always -v /etc/trojan-go:/etc/trojan-go teddysun/trojan-go
    

    相关文章

      网友评论

          本文标题:在docker中使用caddy和trojan-go搭建网络代理服

          本文链接:https://www.haomeiwen.com/subject/yjenyrtx.html