我正在运行 Nextcloud snap 实例,其中包含所有 SSL 证书、域等。但我也在同一台 PC 上运行 Jellyfin,我想通过域访问它,而不是像现在这样通过 PC IP 访问。我的问题是如何让 Jellyfin 实例通过带有 SSL 证书的域访问?我使用的是 Ubuntu 服务器 18.04 LTS。
先感谢您。
答案1
取决于您拥有的 SSL 证书。
如果您有通配符,让我们加密或自签名证书:
您可以设置一个通配符或两个三级域名来指向您的 PC。然后,您可以在 Nextcloud 和 Jellyfin 前面运行反向代理来正确路由流量。然后您可以:
- 终止代理上的 SSL,并使本地主机流量未加密
- 终止代理上的 SSL 并使用自签名证书重新加密。然后,您还需要在 nextcloud 和 jellyfin 上设置 SSL。
- 通过代理传递 SSL 连接并在 nextcloud/jellyfin 上终止它
你可以通过以下方式访问它https://nextcloud.example.tld
:https://jellyfin.example.tld
如果您有单域证书:
设置反向代理以将路径路由/jellyfin
到 jellyfin 和/nextcloud
nextcloud。然后您必须更新它们的配置,以便它们能够预期不同的基本 URL。
- Jellyfin 文档:https://jellyfin.org/docs/general/networking/index.html#base-url
- Nextcloud 文档:https://github.com/nextcloud/nextcloud-snap/wiki/Putting-the-snap-behind-a-reverse-proxy
在这种情况下,您只有以下 SSL 选项:
- 终止代理上的 SSL,并使本地主机流量未加密
- 终止代理上的 SSL 并使用自签名证书重新加密。然后,您还需要在 nextcloud 和 jellyfin 上设置 SSL。
如何在代理上设置 SSL 终止取决于您将使用什么代理,所以我现在无法帮助您。
你可以通过以下方式访问它https://example.tld/nextcloud
:https://example.tld/jellyfin
另一种方法
由于您想使用友好的 URL 而不是 IP,这似乎不会引起您的兴趣,但无论如何它是一种选择。
您可以更改 jellyfin 和 nextcloud 监听的端口,对两者使用相同的证书,然后通过指定端口来访问其中一个。
这实际上是默认工作的,因为 Nextcloud 监听端口 443,而 Jellyfin 监听端口 8920
你可以通过https://example.tld
(:443)来访问它https://example.tld:8920