侧边栏壁纸
  • 累计撰写 99 篇文章
  • 累计创建 54 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

caddy 反代

FlyingEagle
2022-06-28 / 0 评论 / 0 点赞 / 236 阅读 / 3,122 字

Debian安装脚本

apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update
apt install caddy

作为容器运行

caddy run

启动

caddy start

停止

caddy stop

重启

caddy reload

Caddy 文件编辑 路径/etc/caddy/Caddyfile

  • xui tcp_ws_cdn反代
解析好的域名 { #ws伪装网址
  reverse_proxy /YY localhost:12345 #YY为ws 路径 
  root * /var/html/www #伪装网站的路径
  file_server  #开启静态网站服务
  encode gzip
}
  • 内部应用localhost+端口反代
解析好的域名 {   #反代网址
	reverse_proxy localhost:8181
    encode gzip
}
  • 转发网址
解析好的域名 {
    redir https://bing.com{uri}
    encode gzip
}
  • 跳过SSL证书申请,反代如nextcloud本身已经有SSL
解析好的域名 {
    reverse_proxy https://192.168.1.3:8006 {
        transport http {
            tls_insecure_skip_verify
    }
}
  • 网页增加登陆密码
解析好的域名 {
     reverse_proxy localhost:3021
        basic_auth {
		# Username "Bob", password "hiccup"
		Bob $2a$14$Zkx19XLiW6VYouLHR5NmfOFU0z2GTNmpkT/5qqR7hx4IjWJPDhjvG
	}
encode gzip
}
caddy hash-password -p <密码> # Caddy自带生成hashed密码命令

image_2024-12-24_22-27-31
https://caddyserver.com/docs/command-line#caddy-hash-password

hashed_password 其他 生成网址https://bcrypt.online/
canddy文档

https://caddyserver.com/docs/caddyfile/directives/basic_auth#basicauth

  • File server
解析好的域名 {
	root * /srv
	basic_auth {
	# Username "Bob", password "hiccup"
		Bob $2a$14$Zkx19XLiW6VYouLHR5NmfOFU0z2GTNmpkT/5qqR7hx4IjWJPDhjvG
}
     encode gzip zstd  
     	file_server {
		browse /etc/caddy/browse.html  #重新配置删除页脚的页面文件路径
		precompressed zstd br gzip
	}
}

simple file server for download use ip directly

<your-ip>:80 {
  root * /srv
  file_server
}

https://caddyserver.com/docs/caddyfile/directives/file_server

caddy validate --config /etc/caddy/Caddyfile  #确认Caddyfile设置是不是正确,无errors为正确

如果有以下黄色警告
image-1736267119065

用以下命令修复:

caddy fmt --overwrite --config /etc/caddy/Caddyfile

带caddy logo页脚原始file server html页面文件 https://github.com/caddyserver/caddy/blob/master/modules/caddyhttp/fileserver/browse.html
image-1735109877094
修改页面html文件后文件所有权权限修改

chown caddy:caddy /etc/caddy/browse.html
chmod 644 /etc/caddy/browse.html

修改后确认caddy是不是可以读取

sudo -u caddy cat /etc/caddy/browse.html  #正确显示html内容并无错误为权限设置正确

非root用户设置
Caddy文件服务器的目录需要为caddy

ls -ld /srv

显示如下的话:

drwxr-xr-x  root root 4096 Jan 28 10:00 /srv

文件夹要设置为caddy拥有权

sudo chown -R caddy:caddy /srv

之后允许文件夹访问和执行

sudo chmod -R 755 /srv

SSL证书出问题如网址乱跳转https不能访问等的解决方法
删除证书并且备份证书

mv /var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory /var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory.bak

重启并重新申请证书

systemctl restart caddy

caddy file 配置 file server+webdav,(需要增加webdav 模块),配置后用以下地址访问

file server 地址

caddy.mywebdav.com

webdav 地址

caddy.mywebdav.com/webdav

{
    order webdav before file_server
}

caddy.mywebdav.com {
    root * /data
    encode gzip

    basicauth {
        user JDJhJDE0JFhpQlFyTmJ5bGxwNDRsOExZQmZvVk9yWVFDTi9GclFoRjZ0bnZ3aTNZZXpiYzNkdThub25p
    }

    route {
        rewrite /webdav /webdav/
        webdav /webdav/* {
            prefix /webdav
        }

        file_server browse
    }

    log {
        output file /var/log/caddy/webdav.log
    }
}

增加功能模块

模块网址
https://caddyserver.com/download
选择 cpu类型 image
选择模块 image-1750954861126
选中模块后,命令 caddy add-package+模块网址 增加模块

caddy add-package github.com/mholt/caddy-webdav

安装完之后查询

caddy list-modules

显示Non-standard modules就安装成功

http.handlers.webdav

  Non-standard modules: 1

image-1750955021236

Caddy 文件编辑后需要重启才会应用设置

systemctl reload caddy  #重新加载配置,服务不会中断
systemctl restart caddy #停止再重启,服务会中断
0

评论区