前提
在过去的几天里,我设置了一个使用 Docker 运行 Mastodon 的家庭服务器。我已经有一个在 Raspberry 上运行的 Nextcloud 实例,所以现在我尝试通过专用子域(我正在使用免费的 DDNS)使这两个实例可用。
我设置了两个子域(都明显指向我的家庭路由器),如下所示:
- 乳齿象.example.com
- nextcloud.example.com
然后,我在路由器中设置端口转发,将端口 80、443 上的 TCP/UDP 流量发送到 Mastodon 服务器的相同端口,而自定义端口 3000、3001 上的 TCP/UDP 流量则映射到 Nexcloud 的端口 80、443服务器。
到这里为止都没有问题,如果我https://mastodon.example.com
在浏览器中输入内容,我就会进入 Mastodon 服务器,然后https://nextcloud.example.com:3001
我就会进入 Nextcloud 服务器。
问题
现在我正在尝试编辑 mastodon 服务器中 nginx-proxy 容器的配置,以便重定向每个请求,以避免nextcloud.example.com
必须nextcloud.example.com:3001
指定端口。
myadditions.conf
我在映射到容器卷的文件夹中创建了一个新文件/etc/nginx/conf.d
,重新启动服务器后,我可以确认 nginx 已正确加载它docker exec nginx-proxy nginx -T
。
我的问题是,我尝试放入文件中进行重定向的所有内容似乎都被忽略,我输入时得到的结果始终nextcloud.example.com
相同:错误MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT
(我使用的是 Firefox)。我认为该错误是因为服务器没有尝试重定向调用,因此它提供的证书与 nextcloud 子域不匹配。我有什么遗漏的吗?
目前我的myadditions.conf
文件如下所示:
server {
server_name nextcloud.example.com;
return 301 $scheme://nextcloud.example.com:3001$request_uri;
}
但我尝试了很多设置,结果没有任何变化,所以我开始认为问题不在于我在文件中写入的内容。顺便说一句,如果我删除我的文件,错误也是一样的。