Google compute engine 将http重定向到https谷歌云负载平衡

Google compute engine 将http重定向到https谷歌云负载平衡,google-compute-engine,Google Compute Engine,我已经创建了https负载平衡并添加了ssl证书。站点使用https://但无法使用http://并出现404错误 在负载平衡报头请求中添加了作为X-Forwarded-Proto的Headername和作为https的avlue 添加到.htaccess中 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^

我已经创建了https负载平衡并添加了ssl证书。站点使用https://但无法使用http://并出现404错误

在负载平衡报头请求中添加了作为X-Forwarded-Proto的Headername和作为https的avlue

添加到.htaccess中

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

重新启动发动机
重写基/
重写cond%{HTTP:X-Forwarded-Proto}!https
重写规则^https://%{HTTP_HOST}%{REQUEST_URI}[L,R=301]

是否有任何方法可以将http重定向到https以避免404错误

此时,无法直接配置GCP负载平衡器将流量从HTTP重定向到HTTPS;但是,有一个解决方法可以做到这一点。使用Nginx,您可以在Nginx配置文件中添加以下字符串:

if ($http_x_forwarded_proto = "http") { 
      return 301 https://$host$request_uri; 
    }
如果您使用的是Apache,那么如果要使用.htaccess文件重定向流量,则必须执行以下操作:

  • 运行“sudoa2enmod rewrite”或“LoadModule rewrite\u modules/mod\u rewrite.so”,具体取决于您正在运行的Linux操作系统。这将使
  • 使用以下命令在域根目录中编辑或创建.htaccess文件:

    重新启动发动机 重写cond%{HTTPS}=在…上 重写规则^/?(.*){SERVER_NAME}/$1[R,L]

  • 您可以在以下链接中找到更多详细信息


    还有一个内部请求,要求在GCP HTTP/HTTPS负载平衡器中添加此功能。我无法提供是否/何时申请的预计到达时间;但是,您可以跟踪(PIT)请求的进度。

    此时,无法直接配置GCP负载平衡器将流量从HTTP重定向到HTTPS;但是,有一个解决方法可以做到这一点。使用Nginx,您可以在Nginx配置文件中添加以下字符串:

    if ($http_x_forwarded_proto = "http") { 
          return 301 https://$host$request_uri; 
        }
    
    如果您使用的是Apache,那么如果要使用.htaccess文件重定向流量,则必须执行以下操作:

  • 运行“sudoa2enmod rewrite”或“LoadModule rewrite\u modules/mod\u rewrite.so”,具体取决于您正在运行的Linux操作系统。这将使
  • 使用以下命令在域根目录中编辑或创建.htaccess文件:

    重新启动发动机 重写cond%{HTTPS}=在…上 重写规则^/?(.*){SERVER_NAME}/$1[R,L]

  • 您可以在以下链接中找到更多详细信息

    还有一个内部请求,要求在GCP HTTP/HTTPS负载平衡器中添加此功能。我无法提供是否/何时申请的预计到达时间;但是,您可以跟踪(PIT)请求的进度