【问题标题】:Detect HTTPS Proxy in PHP or .htaccess在 PHP 或 .htaccess 中检测 HTTPS 代理
【发布时间】:2018-07-08 05:55:56
【问题描述】:

我在 apache 服务器配置中设置了 ProxyPass

PHP 似乎无法检测到 HTTPS。

我如何检测 PHP 中的 HTTPS 或如果 .htaccess 中没有 HTTPS 则重定向?

Apache 配置:

<IfModule mod_ssl.c>
<VirtualHost *:443>

ServerName domain.co.uk
ServerAlias www.domain.co.uk
ProxyPass / http://external-domain.com/

Include /etc/letsencrypt/options-ssl-apache.conf
...

</VirtualHost>
</IfModule>

【问题讨论】:

    标签: php apache .htaccess https


    【解决方案1】:
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
    

    来源:https://wiki.apache.org/httpd/RewriteHTTPToHTTPS

    【讨论】:

      【解决方案2】:

      如果您使用 HTTPS,这将检查 PHP。

      if(!empty($_SERVER["HTTPS"])) { 
      }
      

      【讨论】:

      • 你说得对,我进行了相应的编辑。在这种情况下检查 443 是正确的,但不够通用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 2013-03-07
      • 2014-10-28
      • 2018-06-25
      • 1970-01-01
      • 1970-01-01
      • 2011-06-11
      相关资源
      最近更新 更多