Cloudflare 隧道 + Apache + Moodle

问题描述 投票:0回答:1

我正在尝试在我的 Ubuntu 22.04 上安装 Moodle 4.2 stable。 由于我没有公网IP,所以我希望使用隧道,以便其他人可以访问该网站。

请帮忙,谢谢。请告诉我是否需要提供任何其他信息。

我想要的:

访问 https://moodle.mydomain.com 会转到我设置的 Moodle。

我做了什么:

  • 我将moodle目录放在/var/www/html/moodle中
  • 在 cloudflare 隧道中,我将“https://moodle.mydomain.com”设置为“HTTP://localhost”
  • 在apache配置虚拟主机80,文档根目录是/var/www/html/moodle
  • 在moodle/config.php中wwwroot = 'https://moodle.mydomain.com'

发生了什么: 当我访问 https://moodle.mydomain.com 时,它显示空白页面,什么也没有。

我尝试了什么:

  • 我更改了moodle/config.php wwwroot = 'http://localhost' 并在我的ubuntu VM中访问它,它有效。
  • 但是这样如果我使用https://moodle.mydomain.com它将重定向到http://localhost

所以我认为moodle设置没问题。我继续其他的尝试以失败告终。

其他信息

  • 隧道工作正常,因为我已经在同一台机器上使用端口 8000 的其他 Web 应用程序使用它。

更新 我想我需要一些方法来告诉moodle使用相对url根而不是使用绝对url根。就像如果一个人通过 127.0.0.1 访问,那么 url 将是 127.0.0.1/... 而一个人通过 https://... 访问,那么 url 将是 https://.../...

config.php 似乎限制它仅使用我设置的值,因此它会一直 https://moodle.mydomain.com

因此 https://moodle.mydomain.com 转到 127.0.0.1,然后转到 https://moodle.mydomain.com 因此无限重定向。

有什么方法可以解决吗?

apache cloudflare moodle tunnel
1个回答
0
投票

Треба додати sslproxy

  • $CFG->wwwroot = 'https://moodle.domain.com';
  • $CFG->sslproxy = true;
© www.soinside.com 2019 - 2024. All rights reserved.