【问题标题】:Caddy Server + Docker + Traefik returns "404 Site domain.com is not served on this interface"Caddy Server + Docker + Traefik 返回“404 Site domain.com is not serving on this interface”
【发布时间】:2019-01-01 07:51:56
【问题描述】:

我正在使用 Hugo 框架来解决持续部署问题。我创建了一个包含 Caddy 服务器、Hugo 和我用于测试的测试项目的图像,将其发送到运行 Traefik 并启动图像的服务器。

这里是 Dockerfile:

FROM debian:latest

RUN apt-get update -y && apt-get install git curl -y
ADD https://github.com/gohugoio/hugo/releases/download/v0.42.2/hugo_0.42.2_Linux-64bit.deb /tmp/hugo.deb
RUN dpkg -i /tmp/hugo.deb && rm /tmp/hugo.deb
RUN curl https://getcaddy.com | bash -s personal
RUN chown root:root /usr/local/bin/caddy && chmod 755 /usr/local/bin/caddy
RUN mkdir /srv/app
WORKDIR /srv/app
COPY . ./
RUN git clone https://github.com/RealOrangeOne/hugo-theme-revealjs.git themes/hugo-theme-revealjs
RUN hugo
EXPOSE 2015
CMD ["caddy"]

这是在我的服务器上运行我的项目的“docker-compose.yml”:

my_project:
  image: some_registry/my_project
  ports:
    - "2015:2015"
  labels:
    - "traefik.frontend.rule=Host:subdomain.domain.me"

我差点忘了,这是我的 Caddyfile:

localhost:2015
root /srv/app/public

图像运行没有问题,但在到达subdomain.domain.me 时,我收到以下消息:

404 站点 subdomain.domain.me 不在此界面上提供服务

但是,运行 curl http://localhost:2015 会在我的服务器上打印我的项目的 HTML。

所以...我认为问题来自 Caddy,因为我在使用 Apache 时没有问题,而我的其他大约 5 个项目使用 Traefik 没有问题。

我的问题是:我应该如何编辑我的 Caddyfile 以免出现这个问题?

提前谢谢你

【问题讨论】:

  • 如果 Caddy 在端口 2015 上收到一个请求 Host 标头值而不是“localhost”,它会给你这个错误;确保您的反向代理将其发送到 localhost 而不是其他主机名。

标签: docker traefik hugo caddy


【解决方案1】:

Caddy 正在寻找寻找 localhost:2015 的请求。我猜你是在将请求转发到机器而不是本地主机。

使用 -log path/to/log.log 参数启动 Caddy,您可能会看到请求是什么,或者尝试

:2015
root /srv/app/public

这将处理从 2015 端口传入的任何请求。

【讨论】:

  • 哇,我不知道可以这样做,谢谢你的回答!
【解决方案2】:

容器网络要求容器内的应用侦听所有接口。 Docker 无法从容器外部到达容器内部的环回接口,包括已发布的端口和容器到容器的网络。

如果你想在你的 docker 主机上限制对该端口的访问,你可以限制 docker 发布该端口的接口:

version: '3'
services:
  my_project:
    image: some_registry/my_project
    ports:
      - "127.0.0.1:2015:2015"
    labels:
      - "traefik.frontend.rule=Host:subdomain.domain.me"

在容器内,按照 Toby 的建议通过从 Caddyfile 中删除“localhost”来调整 caddy 配置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-02
    • 1970-01-01
    • 2020-08-27
    • 2019-05-10
    相关资源
    最近更新 更多