在docker中使用caddy和trojan-go搭建网络代理服
2022-05-05 本文已影响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.key
和server.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