Closed Stormdd closed 1 year ago
看起来这个模块已经两年没有更新了,并且不兼容新版 caddy
看起来这个模块已经两年没有更新了,并且不兼容新版 caddy
好的谢谢
请问下如果我fork该项目自己修改后怎么制作成docker镜像呢? 我克隆整个文件夹到服务器里执行build.sh时,在让我输入user.name和密码的时候就停止了
看起来这个模块已经两年没有更新了,并且不兼容新版 caddy
我不是很懂这些,我想要通过Nginx复用443端口监听Naiveproxy和Xray的流量, 在学习某个Nginx通过Stream模块实现SNI分流笔记内容时,作者提示使用的这个模块。
我询问了下phind以下是答复:
proxy-protocol模块适用于新版本Caddy2吗 ANSWER 根据提供的上下文,proxy-protocol模块是Caddy2的一个监听器包装器,可添加对新连接上的PROXY头的支持。它允许代理在负载均衡下传递客户端IP,就像AWS或Google Cloud中使用的那样。该模块启用对代理协议(v1)的支持。代理协议允许通过负载均衡传递客户机IP。
根据提供的信息,proxy-protocol模块适用于新版本的Caddy2。下面是更多有关如何使用proxy-protocol模块的信息:
该模块可以通过JSON和Caddyfile进行配置。 监听器包装器可以通过Caddyfile的全局选项进行配置。 JSON和Caddyfile都支持以下选项: timeout:指定超时时间。 allow:指定允许的CIDRs。 以下是使用JSON配置的示例:
{ "apps": { "http": { "servers": { "myserver": { "listener_wrappers":[ {"wrapper": "proxy_protocol", "timeout": "5s", "allow": ["192.168.86/24"]}, {"wrapper":"tls"} ] } } } } } 以下是使用Caddyfile进行配置的示例:
{
servers {
listener_wrappers {
proxy_protocol {
timeout
综上所述,proxy-protocol模块适用于新版本的Caddy2,可以通过JSON和Caddyfile进行配置。它允许代理在负载均衡下传递客户端IP,就像AWS或Google Cloud中使用的那样。使用该模块需要注意的是,如果代理存在多个且存在无匹配校验的代理,需要使用@name标签和not path指令。
请问下如果我fork该项目自己修改后怎么制作成docker镜像呢? 我克隆整个文件夹到服务器里执行build.sh时,在让我输入user.name和密码的时候就停止了
那你的文件夹里应该有两个 caddy 二进制文件了,直接 docker build 就行(参数自己设置)
补充:如果没有文件,那就把 build.sh 多余部分删掉重新运行
#!/usr/bin/env bash
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
for arch in amd64 arm64
do
env GOOS=linux GOARCH=${arch} xcaddy build latest \
--with github.com/caddy-dns/cloudflare \
--with github.com/mholt/caddy-l4 \
--with github.com/mholt/caddy-webdav \
--with github.com/lindenlab/caddy-s3-proxy \
--with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive \
--output caddy_${arch}
git add caddy_${arch}
done
感谢
更新:现在有 proxy-protocol 了,我自己维护了一份
可以添加个proxy-protocol模块吗?