0

我有一个重定向规则:

    <VirtualHost *:80>
        ServerAdmin webmaster@localhost

        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

</VirtualHost>

<VirtualHost *:7080>
        ServerAdmin webmaster@localhost

        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule ^/?(.*) https://merchant.juspay.in/$1 [R,L]

        RewriteCond %{SERVER_NAME} demo.juspay.in
        RewriteRule ^/?(.*) https://merchant.juspay.in/$1 [R,L]

</VirtualHost>


<VirtualHost *:8080>
        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://api.juspay.in
</VirtualHost>

在阿帕奇。我需要一种方法来编写规则,使80我的 ip( localhost) 的端口不应该被重定向到8443.

我怎样才能做到这一点?

4

2 回答 2

0

Apache 配置说“监听 80 端口”,这是您的 VirtualHost 的翻译: <VirtualHost *:80>

因此,如果您的请求是http://www.yourdomain.com:8443,我认为您不会最终进入这个虚拟主机

您需要另一个虚拟主机在此特定端口(8443)上侦听,或者我认为您可以这样做:

<VirtualHost *:80 *:8443>

确保您有 2 个不同的侦听器设置:

Listen 80
Listen 8443

我刚刚再次阅读您的问题,据我了解,它本身会重定向到端口 8443。这意味着:

  • 您的路由器中有一个端口转发设置,它将端口 80 转发到 8443,
  • 有一个 htaccess 规则将请求重定向到此端口
  • 或者也许是 PHP 应用程序本身。
于 2012-09-04T09:27:56.010 回答
0

如果您想捕获来自 HTTPS(端口 443)的流量,您将需要另一个在此端口上侦听的虚拟主机。只需使用相同的目录和设置(以及 SSL 证书)就可以了。

您不需要执行 RewriteRule。Apache 将根据请求的协议知道使用什么虚拟主机来提供您的文件。

于 2012-09-04T09:28:52.570 回答