我正在使用Hugo Framework进行持续部署。我创建了一个包含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时,出现以下消息:



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

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

我的问题是:我应该如何编辑我的Caddyfile,以便没有这个问题?

先感谢您

最佳答案

Caddy正在寻找一个寻找localhost:2015的请求。我猜您正在将请求转发到计算机,而不是本地主机。

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

:2015
root /srv/app/public

这将满足端口2015上的任何请求。

关于docker - Caddy服务器+ Docker + Traefik返回 “404 Site domain.com is not served on this interface”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51502884/

10-16 07:11