外观
反向代理
网页 HTTPS
将以下配置放入已有的 Nginx HTTPS server 块:
nginx
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}后台「系统设置」的面板对外地址填写实际 HTTPS 地址。
代理在其他服务器时,在 /etc/nekopass/control.env 将 NEKOPASS_TRUSTED_PROXIES 设置为代理来源 CIDR,多个网段用逗号分隔,然后重启面板。单个 IPv4 使用 /32,IPv6 使用 /128;这里应填写主控实际看到的代理地址。
网页和 API 应使用同一个对外地址。当前未提供浏览器直接跨域调用独立 API 域名的部署模式。
节点控制连接
生产环境可用已有公共 CA 证书,或让 Nginx 终止 TLS。使用 Nginx 时,安装器选择 proxy 模式,在独立域名的 HTTPS server 中配置公共 CA 证书并启用 HTTP/2:
nginx
location / {
grpc_pass grpc://127.0.0.1:9443;
grpc_read_timeout 3600s;
grpc_send_timeout 3600s;
}此处 9443 为安装器选择的节点后端监听端口。系统设置的节点连接方式选择 HTTPS,填写 Nginx 的对外域名与端口;节点地址为 https://域名:端口。未配置主控本地证书时,控制端口保持明文后端,由 Nginx 终止 TLS。
系统设置选择 HTTP 并保存,会立即关闭主控控制端口的 TLS;原本仅监听本机的代理后端会开放直接连接。未手动改变对外端口时,切换使用主控实际控制端口。节点填写 http://IP:9443;这是独立 gRPC 端口,不是网页 8080。主控重启后保留选择,网页 HTTPS 配置不受影响。
在线的 v0.14.1 或更新节点会自动重连到新地址,并持久保存;离线或旧版本节点需执行新的安装命令。HTTP 直连需要防火墙及安全组放行控制端口。
bash
sudo nginx -t
sudo systemctl reload nginx