Hugo主题链接是指Docker / Nginx中的容器端口

问题描述 投票:0回答:1

我有一个由Hugo生成的简单静态站点,正在将其构建到运行Nginx的Docker容器中。 Nginx在端口90上监听。我遇到奇怪的行为,其中某些链接试图打开container端口而不是主机端口(在localhost的情况下为8000)。因此,例如,此链接:

<a href="/documents">Docs</a>

...。当鼠标悬停显示将尝试打开localhost:8000/documents时,这是正确的,但是当单击鼠标时,它将尝试打开http://localhost:90/documents/(如果我在浏览器中手动将URL更改为http://localhost:8000/documents/,它反应很好。)

是什么让这个人变得更加陌生:

  1. 仅某些链接,特别是在标题菜单中,执行此操作。
  2. 我使用了几十个雨果主题,而我只遇到了其中一个主题:ZDoc。可以专门针对这个主题吗?我觉得这很奇怪。

可能是什么原因造成的?我甚至不知道这种现象叫什么。 “主机/容器端口混乱”?

我确定这不是Nginx或Docker的错误配置。我在Dockerfile中正确暴露了端口90:

EXPOSE 90

[nginx.conf设置为在该端口上侦听:

http {
    include    /etc/nginx/mime.types;
    sendfile on;
    server {
        root /usr/share/nginx/html/;
        index index.html;
        server_name localhost;
        listen 90;
    }
}

而且我正在启动Docker容器,并将主机端口8000转发到Nginx正在监听的端口:

docker run --name my-simple-site -p 8000:90 -d simple-site

$ docker ps
CONTAINER ID    IMAGE          COMMAND                  CREATED          STATUS          PORTS                   NAMES
de9cd1526034    simple-site    "nginx -g 'daemon of…"   41 minutes ago   Up 41 minutes   0.0.0.0:8000->90/tcp    my-simple-site
docker nginx port hugo
1个回答
0
投票

奇怪的是,此问题的解决方法是将链接更改为直接指向文件:<a href="/documents/index.html">Docs</a>

© www.soinside.com 2019 - 2024. All rights reserved.