安装过程

继续迁移旧服务器上的服务,van-nav 是一个轻量导航站,之前是下载的可执行文件直接运行的。运行后服务监听 6412 端口,之前使用 httpd 反向代理,转发请求到服务端口。

<VirtualHost *:80>
        ServerName nav.seasidecrab.com
        #ServerAlias nav.seasidecrab.com
        ErrorLog "/alidata/log/httpd/nav-error.log"
        CustomLog "/alidata/log/httpd/nav.log" common
        ProxyRequests off
        ProxyPass / http://127.0.0.1:6412/
        ProxyPassReverse / http://127.0.0.1:6412/
        <proxy *:80>
            Order deny,allow
            Allow from all
        </proxy>
</VirtualHost>

这个 van-nav 站点在初始化之后,会生成一个 data/nav.db 数据库文件。除了新环境需要准备 docker compose 配置文件以外,这个文件也需要备份然后在启动后覆盖。

准备好的 docker-compose.yml 文件:

services:
  van-nav:
    image: mereith/van-nav:v1.12.1
    container_name: van-nav
    env_file: ./.env
    ports:
      - '6412:6412'
    networks:
      - internal
      - shared
    restart: always
    volumes:
      - ./data:/app/data
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:6412/"]
      interval: 30s
      timeout: 10s
      retries: 3
networks:
  internal:
    driver: bridge
  shared:
    external: true
    name: shared-services

数据库目录直接创建 mkdir -p data.env 文件存放项目名称 COMPOSE_PROJECT_NAME=van-nav

镜像依然是本地下载,然后上传到阿里云 ACR 仓库再拉取。

docker pull --platform linux/amd64 mereith/van-nav:v1.12.1
...

启动之后,还原数据库。将 nav.db 文件移动覆盖 data/nav.db,然后 docker compose restart 重启就可以了。

在 https-portal 中添加新的域名配置 nav.seasidecrab.com -> http://van-nav:6412,然后 docker compose up -d 重新生成,OK。

访问证书有效,但浏览器标识为不安全

通过 Chrome 无痕模式和其他浏览器访问是正常的,这说明:

问题根源在于浏览器缓存或 HSTS(HTTP严格传输安全)策略,而不是证书或代理配置本身。

访问 chrome://net-internals/#hsts,在 “Delete domain security policies” 下方输入域名,点击删除。清除普通缓存,再完全关闭浏览器,重新打开访问,OK!

站点 logo 不显示的问题

添加的站点会有 logo 不显示的问题,在浏览 issues 里面有人提到,国外的站点,可以使用

# x.com 为站点域名,直接返回 favicon.ico 图片
https://favicon.im/x.com
# 另一个推荐
https://favicon.yandex.net/favicon/github.com/

对于国内站也有用,但速度会慢一点。

页面效果:

ScreenShot_2026-04-05_090704_712.png

文章目录