我有 Apache OpenMeetings 4.0.4 巫婆 Apache/2.2.22 作为代理。
在 OM 的 conf/red5.properties 我有
http.port=8080
我想做两件事:
重定向 HTTP (80) -> HTTPS (443)
将 HTTP (8080) 重定向到 HTTPS (443)
我的 /etc/apache2/sites-avilable/default conf 是:
<VirtualHost *:80>
ServerName domain.test-test.eu
ServerAlias domain.test-test.eu
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
<VirtualHost *:8080>
ServerName domain.test-test.eu
ServerAlias domain.test-test.eu
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
我的 /etc/apache2/sites-avilable/default-ssl conf 是:
<VirtualHost *:443>
ServerName domain.test-test.eu
ServerAlias domain.test-test.eu
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
SSLEngine On
SSLCerificateFile /etc/apache2/certs/collaboration.crt
SSLCerificateKeyFile /etc/apache2/certs/collaboration.key
SSLCerificateChainFile /etc/apache2/certs/chain.pem
</VirtualHost>
当我输入http://domain.test-test.eu/时,它会将我重定向到https://domain.test-test.eu。
当我输入http://192.168.XXX.YYY时,它会将我重定向到https://192.168.XXX.YYY
但是当我输入http://192.168.XXX.YYY:8080或http://domain.test-test.eu:8080时,它不会将我重定向到https://192.168.XXX.YYY或https:// domain.test-test.eu/。页面打开(没有 HTTPS)。
第二个问题是,在 OM 的日志中我可以看到 CSRF 信息,但我无法通过 HTTPS 登录。
来自 OM 日志的信息:
[http-nio-0.0.0.0-8080-exec-10] INFO o.a.w.p.h.CsrfPreventionRequestCycleListener - Possible CSRF attack, request URL: http://192.168.XXX.YYY/openmeetings/wicket/bookmarkable/org.apache.openmeetings.web.pages.auth.SignInPage, Origin: https://192.168.XXX.YYY, action: aborted with error 400 Origin does not correspond to request
我应该如何更改 Apache 设置以使其正常工作?