0

所以我有一个Master球童,它重定向到局域网内的另一台服务器。

的当前配置Master如下:

http://example.com {
    proxy / http://192.168.1.153:80 {
        transparent
    }
}

https://example.com {
    proxy / https://192.168.1.153:443 {
        transparent
    }
}

而caddy at的配置192.168.1.153如下:

http://example.com, https://example.com {
    root /example.com
}

http://example.com工作正常,但https://example.con给出 502 Bad Gateway。

如果我使用insecure_skip_verify我会收到 403 ......而且我也不想使用它。

80 和 443 都在路由器上打开并重定向到 Master caddy。我的配置一定有问题,但我看不到它是什么。

PD

我努力了:

192.168.1.153:443

https://192.168.1.153

似乎没有一个工作。

更新了解决方案

http://example.com {
    redir https://{host}{uri}
}

https://example.com {
    proxy / 192.168.1.153:80 {
        transparent
    }
}

这也将 80 重定向到 443,但问题是 192.168.1.153 上的“从属”必须响应端口 80,而不是 443。因为 80 在主球童上“升级”为 443。

4

2 回答 2

1

当然那是行不通的。您至少有 2 台服务器,每台服务器都有不同的 IP。所以,让我给你解释一下。

一台服务器的 IP 绑定到 dns example.com,因此它的 Caddyfile 可以监听http://example.com. 此外,此 caddyfile 重定向到具有 IP 的服务器192.168.1.153(第二个服务器)。

第二台服务器既没有将 dnsexample.com绑定到它的 IP,也不应该监听那个 dns。相反,您应该在其 IP 处更改其侦听器或仅定义端口。这是第二个 caddyfile 的样子。

:80 {
  tls off
  root /example.com
}

关于启用的 SSL 您没有为 SSL 分配证书,因此在 443 添加 https:// 甚至监听器是没有意义的。将其保留在 http 中,直到您获得证书。

于 2019-10-27T18:37:22.630 回答
0

可以通过全程加密代理到另一个 HTTPS 后端。
您只需指定要发送到后端服务器的 SNI。

使用球童 v2:

http://exmaple.com {
  reverse_proxy http://192.168.1.153
}
https://example.com {
  reverse_proxy https://192.168.1.153 {
    transport http {
      tls_server_name example.com
    }
  }
}

在后端,像往常一样听:

example.com {
  # Do whatever here
}
于 2021-01-31T20:20:54.037 回答