前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nextcloud -5- 实现多个 https 反向代理

Nextcloud -5- 实现多个 https 反向代理

作者头像
为为为什么
发布2022-08-06 16:29:17
2.6K0
发布2022-08-06 16:29:17
举报
文章被收录于专栏:又见苍岚又见苍岚

Nextcloud 天然支持 http 协议,然而在手机、PC端的客户端必须需要 https 协议登录,本文记录为 Nextcloud 配置 https 登录的方法。

背景

已经架设好了Nextcloud 服务器,天然支持的是 http 协议访问,然而客户端登录时发现仅接受 https 协议访问:

  • 因此我们需要为nextcloud 配置 https 访问 我的需求还要复杂一点
  • 由于我没有公网 ipv4 地址,但是有 ipv6 的地址;为了在有 ipv6 时直接享受家庭宽带的上传带宽,需要一个 https 域名直接DNS 我的 ipv6地址;
  • 同时在无法获取 ipv6 地址的环境下配置腾讯云的云服务器作为内网穿透中转,还需要配置一个 DNS 到ipv4地址的 https 访问域名
  • 总之,目标是:
代码语言:txt
复制
- **为本地 nextcloud 服务配置多个 https 访问,并成功实现客户端登录**

实现思路

  • 使用 Nginx 为 Nextcloud 服务配置反向代理
  • 使用两组 ssl 访问映射到两个端口,代理同一个本地 http 访问协议
  • 配置 nextcloud 仅支持 https 访问

操作流程

创建 Nginx
  • 参考 之前的教程
  • 注意在创建容器时,需要进行几个代理,就要映射几个端口(此处映射两个)
代码语言:javascript
复制
docker run --name=nginx -p 9443:443 -p 9442:442 -d --restart=always -v /share/ssl:/ssl nginx
  • 已经映射好端口的容器也可以进行修改
申请 SSL 证书
  • 此处为了使用方便需要想办法申请 CA 证书
  • 下载时选择 PEM_Nginx,解压后需要使用的是 .crt 和 .key 文件
配置 Nginx
  • 配置方法和 创建 Nginx docker 容器反向代理 https 文章中描述的相同
  • 不同的是需要在 /etc/nginx/conf.d/ 文件夹下多创建一个配置文件,填上相应信息
  • 但是两个配置文件代理的内容是相同的
代码语言:javascript
复制
:/etc/nginx/conf.d# ls
default.conf  ipv4.conf  ipv6.conf
配置 Nextcloud
  • 此时已经可以通过代理访问 Nextcloud 了
客户端登录配置
  • 在Nextcloud 客户端登陆时需要填写服务器地址
  • 进入设置 -> 个人 -> 手机与电脑 可以看到客户端登录的链接地址
  • 然而此时PC端和手机端的 Nextcloud 客户端无法使用
  • 这是因为我们是以 https 协议访问的 Nginx 服务器,Nginx 将我们的会话内容代理到 Nextcloud 服务器中,而服务器配置默认 http 协议访问,代理的一般也是 80 端口,因此在返回的跳转链接中使用的是 http 协议的链接,但是客户端要求的却是 https 协议访问,因此产生错误
  • 解决方案:在 /var/www/html/config 目录下的 config.php,添加如下内容:
代码语言:javascript
复制
'overwriteprotocol' => 'https',
  • 修改完后立即生效,不需要任何操作,此时可以使用两个https 域名登录客户端(PC、手机均可)访问我们的服务器了 缺点就是之前 http 协议的访问链接不再生效了

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年1月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 实现思路
  • 操作流程
    • 创建 Nginx
      • 申请 SSL 证书
        • 配置 Nginx
          • 配置 Nextcloud
            • 客户端登录配置
            • 参考资料
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档