gpt4 book ai didi

apache - 使用 apache 虚拟主机重定向到其他域的 HTTPS

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:49 25 4
gpt4 key购买 nike

我想将我服务器上的虚拟主机重定向到另一个在 HTTPS 上运行的域。我也想只显示原始 url,因此使用 P 标志作为代理。这是当前配置:

RewriteEngine on
SSLProxyEngine on
RewriteCond %{HTTP_HOST} ^subdomain1\.domain1\.ext1$ [NC]
RewriteRule ^(.*) https://subdomain2.domain2.ext2$1 [L,R,P]

我应该使用 certbot 在 domain1 上生成证书吗?我应该关联什么 webroot?我应该包括来自 domain2 的那个吗?

目前,我在 error.log 中有这个:

[Wed Jun 27 09:13:42.011549 2018] [ssl:error] [pid 19805] [remote IP2:443] AH01961: SSL Proxy requested for domain1.ext1:80 but not enabled [Hint: SSLProxyEngine]
[Wed Jun 27 09:13:42.011734 2018] [proxy:error] [pid 19805] AH00961: HTTPS: failed to enable ssl support for IP2:443 (subdomain2.domain2.ext2)

但是 SSLProxyEngine 已设置。

最佳答案

最后,最好的解决方案是使用 mod_proxy 而不是 mod-rewrite。

http 版本(重定向到 https)

<VirtualHost *:80>
ServerName domain1.ext1
ServerAlias subdomain1.domain1.ext1

SSLProxyEngine on
ProxyPass / https://subdomain2.domain2.ext2/
ProxyPassReverse / https://subdomain2.domain2.ext2/
ProxyPreserveHost Off

RewriteEngine on
RewriteCond %{SERVER_NAME} =subdomain1.domain1.ext1
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>

https版本

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName domain1.ext1
ServerAlias subdomain1.domain1.ext1

SSLProxyEngine on
ProxyPass / https://subdomain2.domain2.ext2/
ProxyPassReverse / https://subdomain2.domain2.ext2/
ProxyPreserveHost Off

SSLCertificateFile /etc/letsencrypt/live/subdomain1.domain1.ext1/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/subdomain1.domain1.ext1/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

关于apache - 使用 apache 虚拟主机重定向到其他域的 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51057867/

25 4 0
文章推荐: python - 如果其他列满足某些条件,如何打印不同列中的值?
文章推荐: python - 了解 Python 中的 raw_input 函数
文章推荐: python - 使用 BeautifulSoup 提取
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com