问题标签 [caddy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
953 浏览

caddy - 如何使用 Caddy 同时提供 http 和 https?

我应该如何将 Caddy 配置为同时提供 http 和 https 而不是默认重定向到 https?

http://example.com/info

https://example.com/info

背景:我们有一个 Windows 程序,它连接到我们的一个域以通过 http 检索信息。在未来的版本中,我们希望使用 Caddy 提供的 https 连接到新服务器。

但是我们不想破坏旧版本软件的功能,因此我们需要使用相同的 URL 并能够通过 http 和 https 接收相同的数据。

0 投票
1 回答
123 浏览

ssl - Caddy 提供错误的 SSL 证书

这个问题描述了这个问题: https ://github.com/mholt/caddy/issues/1303

我想修复此信息泄漏(让攻击者有机会枚举我的网络服务器上服务的所有不同主机)。

有人知道如何修复它或解决它吗?

0 投票
1 回答
5230 浏览

django - 运行 collectstatic 时,django Docker 容器内的 mkdir 权限被拒绝

我修改了 django-cookiecutter 默认生产模板,使caddy web 服务器提供静态文件。我正在使用卷通过主机./static目录映射djangocaddy./static容器中的目录,但是当 dockerpython manage.py collectstatic --noinput在尝试创建./static.

但是,如果我不切换到djangodjango 容器的 Dockerfile 中的用户,因此collectstatic以 root 身份执行,一切正常。我猜django容器中的用户不允许写入主机目录,即使chown -R django /app/static已成功执行。

回溯(最后一次调用):
文件“/app/manage.py”,第 30 行,在 <\module>
execute_from_command_line(sys.argv)
...
文件“/usr/local/lib/python3.6/site- packages/collectfast/management/commands/collectstatic.py”,第 111 行,在
copy_file self.do_copy_file(args)
文件“/usr/local/lib/python3.6/site-packages/collectfast/management/commands/collectstatic.py ",第 100 行,在 do_copy_file
路径中,prefixed_pa​​th,source_storage)
文件 "/usr/local/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",第 354 行,在 copy_file
self.storage.save(prefixed_pa​​th, source_file)
文件“/usr/local/lib/python3.6/site-packages/django/core/files/storage.py”,第 49 行,保存
返回 self._save(name, content)
文件“/usr/local/lib /python3.6/site-packages/django/core/files/storage.py”,第 236 行,在 _save
os.makedirs(目录)
文件“/usr/local/lib/python3.6/os.py”,行220,在 makedirs
mkdir(name, mode)
PermissionError:
[Errno 13] Permission denied: '/app/static/sass'

我尝试在主机内部,以 root 身份预先在主机chown -R systemd-timesync:root static内部创建文件夹,并添加到 django 容器的 Dockerfile(以容器的 root 用户身份执行)。./staticRUN mkdir /app/static && chown -R django /app/static

码头工人-compose.yml

django 容器 Dockerfile

django容器启动脚本

我不希望我的容器以 root 身份执行,所以我正在寻找任何解决方案/想法。

0 投票
1 回答
221 浏览

caddy - 基于用户代理的球童重写不起作用

如果请求的客户端是移动用户,我正在尝试重写路径。根据 caddy 文档,此代码应将移动用户重定向到指定的目的地。

但是当我添加User-Agent条件时它不会。我尝试了其他效果很好的条件。我试图寻找球童可用的指令,User-Agent但找不到任何提示。

0 投票
1 回答
2165 浏览

caddy - Caddy 服务器错误:“解析过程中出错:未知指令 'if'”

新手使用Caddy服务器并与Caddyfile...战斗

是我拥有的当前 Caddyfile;当我caddy从命令行中键入“”时,在同一文件夹中,我收到以下错误:

当我查看http.redir 此处的文档时,页面上的最后一个示例似乎表明我的语法正确?使困惑

0 投票
1 回答
924 浏览

cloudflare - Caddy 服务器错误:“Caddyfile:12 - 解析期间出错:未知指令 'CLOUDFLARE_API_KEY'”

新手使用Caddy服务器并与Caddyfile...战斗

是我拥有的当前 Caddyfile;当我caddy从命令行中键入“”时,在同一文件夹中,我收到以下错误:

当我在这里查看文档时,页面上的变量似乎表明我的语法正确?使困惑

注意:确实安装了tls.dns.CloudflareCaddy 插件。

0 投票
2 回答
931 浏览

ssl - Caddy + Organizr + Plex 媒体服务器 = 无法连接到 PMS?

最终我的目标是能够通过 Organizr 加载我的 PMS 管理界面。我已经尝试https://app.plex.tv/desktop通过 Organizr 简单地使用 URL,但是该 URL 不允许在 iFrames 中加载页面,所以现在我尝试使用 Caddy 服务器将其反向代理到我的本地 LAN IP...

我的代码中有这段代码Caddyfile请注意,我的 PMS 托管在 LAN 上的另一台电脑上):

然后,当我尝试访问该 URL 时,它给了我一个502 Bad Gateway,并且 Caddy 日志文件说[ERROR 502 /pms] x509: cannot validate certificate for 192.168.234.234 because it doesn't contain any IP SANs

如果我添加insecure_skip_verify指令,我会得到错误:401 Unauthorized而不是。

我对使用 Caddy 还是很陌生,有人知道这里发生了什么吗?

0 投票
1 回答
837 浏览

javascript - 如何在特定路径上的反向代理后面托管 webpack 应用程序?

我有一个在 Caddy 服务器后面运行的 webpack 应用程序,我正在尝试对其进行设置,以便该应用程序在 example.com/app 上运行。我相信我已经正确配置了 Caddy 来执行此操作(使用“不带 /app”),并且更改我的 index.html 以将 main.js 称为 app/main.js 非常简单。但是,webpack 生成的所有内部引用(例如块等)都不知道设置。我查看了 webpack 代理和 publicPath 选项,但它们似乎并不是我所需要的。我确信这是一个非常常见的场景,但对我来说如何做到这一点并不明显。

0 投票
0 回答
270 浏览

caddy - 如何在 Caddyfile 中重定向保留路径的某些部分?

我想将这样的 URL 重定向 /origin/something到 this /destination/something。我尝试使用 来做到这一点redir,但我无法通过使用占位符获得路径的一部分。然后我尝试用这些方式重写:

两种方式都行不通。我究竟做错了什么?我该如何做这个重定向?

0 投票
1 回答
215 浏览

docker - 通过 Caddy 保护最重要的连接,但 websocket 不起作用

我正在尝试mattermost通过Caddy. 最接近的来自 micheljung答案

Web 和应用程序的配置方式没有意义。现在它起作用了。我做了什么:

启用 Let's Encrypt 和端口 80 到 443 转发
让应用程序公开端口 80 和 443(在 Dockerfile 和 docker-compose.yml 中配置)
删除 Web 容器,因为它的唯一目的基本上是 SSL,现在由 Mattermost
Profit 处理!

我确实跟着他的回答。但无法使用websocket功能这是我尝试过的

Caddyfile

Dockerfile

docker-compose.yml

如何正确配置Caddymattermost在一起?