van-nav v1.12.1 docker 安装 - 轻量导航站
安装过程
继续迁移旧服务器上的服务,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/对于国内站也有用,但速度会慢一点。
页面效果:

本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
海滨擎蟹
微信
支付宝