Moodle 更新后,从 http 到 https 的重定向停止工作

Moodle 更新后,从 http 到 https 的重定向停止工作

Moodle 电子学习系统更新后,从 http 到 https 的重定向不再起作用。

环境:Debian 9、Bitnami Moodle 设备、Apache Web 服务器

防火墙已打开端口 80 和 443。您可以通过 https 访问该网站,并且该网站正常运行。

我试过这个 https://docs.bitnami.com/installer/apps/moodle/#how-to-force-https-redirection-with-apache 没有效果。

每次我输入没有 https 的 URL 时,我都会得到

错误请求 您的浏览器发送了此服务器无法理解的请求。原因:您正在向启用 SSL 的服务器端口发送纯 HTTP 请求。请使用 HTTPS 方案访问此 URL。

这是来自 apache 日志:

[2018 年 8 月 8 日星期三 16:16:45.827527] [mpm_event:notice] [pid 3827:tid 140588913918464] AH00491:捕获 SIGTERM,正在关闭
[2018 年 8 月 8 日星期三 16:16:49.917673] [ssl:warn] [pid 4503:tid 140413525754368] AH01909:localhost:443:0 服务器证书不包含与$ 匹配的 ID
[2018 年 8 月 8 日星期三 16:16:49.954349] [ssl:warn] [pid 4504:tid 140413525754368] AH01909:localhost:443:0服务器证书不包含与$匹配的ID

[2018 年 8 月 8 日星期三 16:16:49.966243] [mpm_event:notice] [pid 4504:tid 140413525754368] AH00489:Apache/2.4.29 (Unix) OpenSSL/1.0.2n 已配置——恢复 norm$
[2018 年 8 月 8 日星期三 16:16:49.966287] [core:notice] [pid 4504:tid 140413525754368] AH00094:命令行:'/opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/ap$

我还尝试使用以下行修改 /opt/bitnami/apps/moodle/conf/httpd-prefix.conf:

DocumentRoot "/opt/bitnami/apps/moodle/htdocs" 
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) http://www.moodle.mysite.com/$1 [R,L] 
Include "/opt/bitnami/apps/moodle/conf/httpd-app.conf"

没有帮助。每次更改后,我都会重新启动 Apache,删除浏览器缓存并尝试加载网页。

谢谢。

答案1

根据https://docs.bitnami.com/installer/apps/moodle/#how-to-force-https-redirection-with-apache应该RewriteRule是 https 而不是 http,如上面的消息所示,另外DocumentRoot指令应该引用 Apache 目录,而不是 moodle 目录:

<VirtualHost _default_:80>
  DocumentRoot "/opt/bitnami/apache2/htdocs"
  RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
  ...
</VirtualHost>

相关内容