【问题标题】:redirect http tp https using mod_rewrite on apache 2.2在 apache 2.2 上使用 mod_rewrite 将 http 重定向到 https
【发布时间】:2020-08-13 07:25:55
【问题描述】:

我在 8080 有一个可用的 mywebsite.com 托管端口。我能够使用 mod_rewrite 将端口从 8080 重定向到打开端口 80。现在我有一个新的要求,将特定的 http 重定向到 https (ssl) 端口。我已经尝试了很多可能性,但仍然未能抛出禁止访问错误 403。

仅供参考,我没有使用 .htaccess 进行此访问,因为 mywebsite.com 归第 3 方所有,他们拒绝给我应用程序的路径目录。

阿帕奇:2.2

操作系统:windows server 2016

<VirtualHost *:80>

RewriteEngine On

RewriteRule ^/(.*) http://mywebsite.com:8080/VirtualHostBase/http/%{SERVER_NAME}:80/mywebsitedoc/VirtualHostRoot/$1 [L,P]

</VirtualHost>

Listen 443

<VirtualHost *:443>

ServerName mywebsite.com

SSLEngine on

SSLCertificateFile "C:/Apache2.2/conf/mywebsite.com.crt"

SSLCertificateKeyFile "C:/Apache2.2/conf/mywebsite.com.key"

SSLCertificateChainFile "C:/Apache2.2/conf/mywebsite.com.gd_bundle-g2-g1.crt"

</VirtualHost>

【问题讨论】:

    标签: http ssl mod-rewrite https apache2.2


    【解决方案1】:

    我得到的答案如下。仅供参考,它是运行在 8080 端口的 zope Web 服务器,我需要将所有 80 个请求转发到端口 8080

    <VirtualHost *:80>

    ServerName mywebsite.com

    Redirect permanent / https://mywebsite.com:443/

    </VirtualHost>

    Listen 443

    <VirtualHost *:443>

    ServerName mywebsite.com

    SSLEngine on

    SSLProxyEngine on

    RewriteEngine On

    RewriteRule ^/(.*) http://mywebsite.com:8080/VirtualHostBase/https/%{SERVER_NAME}:443/staffportal/VirtualHostRoot/$1 [L,P]

    SSLCertificateFile "..."

    SSLCertificateKeyFile "....."

    SSLCertificateChainFile "....."

    </VirtualHost>

    问候, AA

    【讨论】: