我必须配置反向代理以将 HTTPs 请求重定向到另一个也运行 HTTPs 的主机,,,但是我陷入困境
这是我的 Apache 上作为反向代理的虚拟主机配置
<VirtualHost *:80>
ServerAdmin admin@mydomain.com
ServerName mail.mydomain.com
RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
SSLProxyEngine on
<Proxy "*">
Order allow,deny
Allow from all
</Proxy>
ProxyPass / https://192.168.1.6/webmail/
ProxyPassReverse / https://192.168.1.6/webmail/
ErrorLog /var/log/apache2/webmail_log
CustomLog /var/log/apache2/webmail-access_log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
在我的浏览器上我使用这个地址http://mail.mydomain.com
但它仅将请求重定向到反向代理服务器上的 HTTP,而不是邮件主机上的 HTTP。
谢谢大家
我还没有设置 https 反向代理,但我现在就要设置
据我所知,您的代理定义位于错误的位置。
您的 RewriteRule 将您从 http 虚拟主机重定向到 https 虚拟主机,因此代理配置必须放在该位置。
编辑: 基本上我的意思是:
从端口 80 上的虚拟主机中删除代理
<VirtualHost *:80>
ServerAdmin admin@mydomain.com
ServerName mail.mydomain.com
RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
ErrorLog /var/log/apache2/webmail_log
CustomLog /var/log/apache2/webmail-access_log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
并将其添加到监听端口 443 (https) 的虚拟主机
<VirtualHost *:443>
Run Code Online (Sandbox Code Playgroud)
...其他虚拟主机配置....
SSLProxyEngine on
<Proxy "*">
Order allow,deny
Allow from all
</Proxy>
ProxyPass / https://192.168.1.6/webmail/
ProxyPassReverse / https://192.168.1.6/webmail/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我还没有测试过这个确切的设置,但我认为它应该像这样工作......
| 归档时间: |
|
| 查看次数: |
34939 次 |
| 最近记录: |