我正在尝试使用多站点设置一个Wordpress网站:
example.com
example.com/fr
使用以下Caddyfile:
example.com:80 {
redir https://www.example.com{uri}
}
www.example.com:80 {
root /app/public
gzip
fastcgi / 127.0.0.1:9000 {
ext .php
split .php
index index.php
}
rewrite {
regexp ^/[_0-9a-zA-Z-]+(/wp-.*)
to {path} {path}/ {1}
}
rewrite {
regexp ^/[_0-9a-zA-Z-]+(/.*\.php)$
to {path} {path}/ {1}
}
rewrite {
if {path} not_match ^\/wp-admin
to {path} {path}/ /index.php?_url={uri}
}
log stdout
startup /usr/sbin/php-fpm7.0 -F -O &
}
Run Code Online (Sandbox Code Playgroud)
当我到达时/fr/wp-admin/
,我得到301 /wp-admin/
.
有人知道如何解决这个问题吗?
我有一个带有docker的网站,并且使用caddy进行生产。这是我的配置Caddyfile
mydomain.com {
proxy / django:5000 {
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-Proto {scheme}
header_upstream X-CSRFToken {~csrftoken}
}
log stdout
errors stdout
gzip
}
Run Code Online (Sandbox Code Playgroud)
当我使用mydomain.com时,此配置效果很好,但是当我尝试通过IP访问服务器时,它返回以下错误:
404 Site 156.130.11.8 is not served on this interface
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用*
,156.130.11.8
和:80
* {
proxy / django:5000...
...
156.130.11.8 {
proxy / django:5000...
...
Run Code Online (Sandbox Code Playgroud)
这一切都不起作用,你们当中有人知道我该如何解决吗?
编辑:代码在这里:https : //github.com/maguayo/django-starter-api 球童配置位于compose / production / caddy /下,我正在运行的配置位于“ production.yml ”上
我正在尝试在我的 Caddy v2 配置上实施 IP 白名单。相当于 NGINX 配置的东西,例如:
allow 1.1.1.1;
allow 8.8.8.8;
deny all;
Run Code Online (Sandbox Code Playgroud)
我当前的 Caddy 配置非常简单:
my.website.com {
reverse_proxy http://127.0.0.1:3000 {
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在运行 Caddy v1 作为反向代理,并且我想对例如 JSON 响应应用 GZIP 压缩。
我注意到gzip
Caddy v1 指令仅适用于 Caddy 为其自身服务的文件,而不适用于 Caddy 使用该proxy
指令运行反向代理的响应。
0.0.0.0:8080 {
gzip {
ext *
level 9
}
log stdout
errors stdout
proxy /api/v2 127.0.0.1:50010 {
transparent
without /api/v2
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法压缩代理的响应主体,或者 Caddy 无法做到这一点?
我刚开始使用球童.我做了一个简单的聊天应用程序,我正在使用球童服务.
WebSockets由应用程序在ws而不是wss上提供,类似于应用程序在HTTP上而不是https上提供应用程序的方式.我正在尝试使用caddy保护协议,并已成功完成https的协议.由于我在使用https时无法使用ws,因此我还需要在wss上提供WebSockets.我在文档中找不到一种方法,我可以找到如何将代理wss反转为ws,就像我使用https到http一样.
我尝试了什么
your.tld.com {
proxy / 0.0.0.0:8266 {
transparent
websocket
}
}
Run Code Online (Sandbox Code Playgroud)
2)
your.tld.com {
proxy / 0.0.0.0:8266 {
transparent
}
proxy /ws 0.0.0.0:8266 {
transparent
}
}
Run Code Online (Sandbox Code Playgroud)
3)
your.tld.com {
proxy / 0.0.0.0:8266 {
transparent
}
proxy /ws 0.0.0.0:8266/ws {
transparent
}
}
Run Code Online (Sandbox Code Playgroud)
以上的attemots没有用.希望能在这里找到解决方案.
“默认情况下,Caddy 将绑定到端口 80 和 443 以提供 HTTPS 服务并将 HTTP 重定向到 HTTPS。” ( https://caddyserver.com/docs/automatic-https )
我们如何更改此端口?
背景:在我们的设置中,Caddy 在 AWS 负载均衡器后面运行,该负载均衡器将请求从端口 443 转发到端口 4443。因此,我们希望 Caddy 侦听 4443。(我们使用 DNS 挑战。)
是否可以使用 caddy 进行本地开发,其中您有https://mysite.loc并使用 Caddyfile 作为本地主机上运行的服务的反向代理?
我的主机文件,所以我有本地 mysite.loc 域
127.0.0.1 mysite.loc
Run Code Online (Sandbox Code Playgroud)
mysite.loc {
reverse_proxy /api localhost:5000
reverse_proxy /admin localhost:6000
reverse_proxy /graphql localhost:7000
reverse_proxy localhost:4000
tls ???
}
Run Code Online (Sandbox Code Playgroud)
这就是我已经走了多远。我认为我需要以某种方式将 mysite.loc 指向正在运行的 caddy 守护进程,以便它可以拦截提供生成的证书的请求,然后我将在本地信任该证书,并充当重定向到本地运行的服务的代理。我还认为我不需要自己生成任何证书球童应该这样做吗?我还想避免使用 mysite.loc 的任何端口,例如https://mysite.loc:4000只是https://mysite.loc,然后让 Caddy 处理其余的事情。我也想避免使用 docker。
我正在使用 PhpStorm 开发一个项目。
我创建了一个 Caddyfile 来配置我的 Caddy 服务器。
但 PhpStorm 不会格式化或突出显示 Caddyfile 的代码。
我知道我可以更改特定文件的文件类型,但我不知道应该为 Caddyfile 选择哪种文件类型。
intellij idea 中的 Caddyfile 文件类型是什么?
我想将HTTPS添加到我的本地域,但是我们无法在localhost上执行此操作.
当我使用这个Caddyfile运行时,我的网站运行正常
localhost:2020 {
bind {$ADDRESS}
proxy / http://192.168.100.82:9000 {
transparent
}
}
Run Code Online (Sandbox Code Playgroud)
但我想命名这个网站或者至少在其上启用HTTPS.根据Caddy的说法,你无法在localhost上执行此操作,但如果我有域名怎么办?
我试过用这个Caddyfile使用我自己的本地地址
192.168.100.26 {
bind {$ADDRESS}
proxy / http://192.168.100.82:9000 {
transparent
}
}
Run Code Online (Sandbox Code Playgroud)
一切正常但我仍然没有HTTPS ...
当我尝试添加一个随机域名时
www.mycaddytest.com {
bind {$ADDRESS}
proxy / http://192.168.100.82:9000 {
transparent
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
Activating privacy features...2016/08/18 11:53:26 [www.mycaddytest.com] failed to get certificate: acme: Error 400 - urn:acme:error:connection - DNS problem: NXDOMAIN looking up A for www.mycaddytest.com
Error Detail:
Validation for www.mycaddytest.com:80
Resolved to:
Used:
Run Code Online (Sandbox Code Playgroud)
我知道这个错误是由于一个不存在的域名,但有没有办法处理?
只需在localhost或ip地址上获取HTTPS就足够了
我有一个不渲染资产的 Rails 应用程序。以前运行良好。当我添加链接文件时,它不仅上传我指定的文件,还上传预编译的资源。即使在破坏所有资源并重新编译之后,它也无法渲染它们,即使它们存在于盒子上。
球童文件
mydomain.com {
gzip
log stdout
root /home/deploy/apps/rails-app/current/public
proxy / unix:///home/deploy/apps/rails-app/shared/tmp/sockets/rails-app-puma.sock {
except /assets # this is /public/assets directory
except /solr
transparent
websocket
policy round_robin
}
errors stdout
header / {
Strict-Transport-Security "max-age=31536000"
}
proxy /solr localhost:8983 {
transparent
}
}
Run Code Online (Sandbox Code Playgroud)
部署.rb
# frozen_string_literal: true
# config valid only for current version of Capistrano
# lock '3.13.0'
# Change these
server '...', port: 2221, roles: %i[web app db], primary: true
set :repo_url, '...'
set …
Run Code Online (Sandbox Code Playgroud) 我第一次尝试使用 Caddy。我希望能够为多个子域提供服务。Caddy 向 Let's Encrypt 请求 SSL 证书。我已经设法让它在 caddyfile 中只有一个域名的情况下正常工作。
但是,假设我有
www.example.com, test.example.com {
... lots of settings
}
Run Code Online (Sandbox Code Playgroud)
我依靠 Let's Connect 服务器回调这些子域之一(即不使用 DNS TXT 记录)。但这引发了一些问题:
(在上面的示例中只有两个子域,但实际上我想知道如何让它与两个以上的子域一起使用。)
-
编辑:当我尝试这个时test.example.com
,我收到一个错误(注意:我隐藏了我的实际域名):
Activating privacy features...2016/11/21 07:47:41 [www.example.com] failed to get certificate: acme: Error 403 - urn:acme:error:unauthorized - Invalid response from http://www.example.com/.well-known/acme-challenge/ALmqQ8Vl5fvPF91tvqw2zigHlPoRRgTGR2GaLtgX3-A [134.92.240.68]: 404
Run Code Online (Sandbox Code Playgroud)
Caddy 打印更多细节,本质上是重复相同的信息,然后终止。
我有一个 Caddy v2 的配置文件,如下所示:
sentry.mydomain.ru {
reverse_proxy sentry:9000
}
tasks.mydomain.ru {
reverse_proxy taiga-proxy:80
}
ain.mydomain.ru {
reverse_proxy ain-frontend:80
}
Run Code Online (Sandbox Code Playgroud)
Caddy 为每个域制作 https,但我只需要为ain.mydomain.ru
. 怎么做?