Caddy搭建HTTPS代理翻墙教程

avatar 2020年3月2日13:09:45Caddy搭建HTTPS代理翻墙教程已关闭评论

利用Caddy的插件forwardproxy快速搭建HTTPS正向代理,毕竟Caddy自动请求SSL证书,能够省下少流程。

申请域名和填写DNS记录

首先你要注册一个免费域名,这个可以到Freenom上免费搞一个,不多讲。可以参考这篇教你申请.tk/.ml/.cf/.gq/.ga等免费域名

域名注册好后,需要添加两条DNS记录,如果没有v6IP的话,就填一个v4IP,如下:

Name (prefix) Type TTL Target
A 3600 这里填写vps上的v4IP
AAAA 3600 这里填写vps上的v6IP

上面完成后,就开始服务端的配置了。

服务端安装Caddy

下载安装caddy和http.forwardproxy插件,这里建议http.cache一起安装了。

curl https://getcaddy.com | bash -s personal http.forwardproxy,http.cache

这个时候caddy二进制文件也就安装到/usr/local/bin/caddy里去了,直接caddy就可以运行。

配置Caddyfile文件

上面安装好caddy后,现在就来配置Caddyfile文件,caddy配置文件很简单,搞得俺这种nginx用户很心动。

新建一个caddy文件夹,存放Caddyfile文件

mkdir -p /etc/caddy

编写Caddyfile文件,修改文件以下

vi /etc/caddy/Caddyfile

https://yeahwu.com { #自己的域名
    root /var/www/html  #网站目录
    tls [email protected] #自动注册证书要用到的邮箱
    log stdout 
    forwardproxy {
        basicauth user Password #这里分别填写用户名和密码
        hide_ip #隐藏客户端IP
        hide_via
    }
}

默认是使用443端口,你也可以指定别的端口,只要在第一行网址后面添加相应端口,例如:

https://yeahwu.com:1024 {

上面配置完就可以启动caddy了,启动命令如下:

caddy -conf /etc/caddy/Caddyfile

启动后会发现,caddy一直在前台运行,很不方便,这个时候俺们就需要注册systemctl服务,用systemctl来启动caddy。

注册服务

第一种方法:

简单点讲也就是新建一个caddy.service文件,这里有一个官方脚本,直接运行下面命令就可以下载:

curl -s https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service -o /etc/systemd/system/caddy.service

第二种方法:

直接自己手动新建caddy.service文件,命令:

vi /etc/systemd/system/caddy.service

添加如下内容

[Unit]
Description=Caddy HTTP/2 web server
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service

StartLimitIntervalSec=14400
StartLimitBurst=10

[Service]
Restart=on-abnormal

ExecStart=/usr/local/bin/caddy -log stdout -log-timestamps=false -agree=true -conf=/etc/caddy/Caddyfile -root=/var/tmp
ExecReload=/bin/kill -USR1 $MAINPID

KillMode=mixed
KillSignal=SIGQUIT
TimeoutStopSec=5s

LimitNOFILE=1048576
LimitNPROC=512

PrivateTmp=true
PrivateDevices=false
ProtectHome=true
ProtectSystem=full

[Install]
WantedBy=multi-user.target

 

上面方法任选一种,重启systemctl服务 systemctl daemon-reload

到这也就可以启动caddy了,启动命令

systemctl start caddy #启动

systemctl restart caddy #重启

systemctl status caddy #查看状态

systemctl sotp caddy #停止

服务端到此也就部署完成了,下面来折腾客户端。https正向代理,不必多讲,安全、快捷,电脑端不用另装客户端,移动端好像还没发现不支持https代理的软件。

客户端配置

电脑端浏览器安装SwitchyOmega插件,新建一个代理情景模式,代理协议填写HTTPS,代理服务器填写你的域名,端口填写你使用的端口没有另外设置的话就填443,最后点击右边小锁,填写你的用户名和密码。就可以使用了,如果需要分流的话,可以另建立一个自动切换模式。

移动端,俺们以小火箭和Quantumult X为例,小火箭看图

Quantumult X 配置文件/编辑/server_local字头下填写:

http=你的网址:443, username=用户名, password=密码, over-tls=true, tls-host=你的网址, fast-open=false, udp-relay=true, tag=caddy

原文来自无二自留地

历史上的今天
三月
2
avatar