谷歌负载均衡器重定向错误

谷歌负载均衡器重定向错误

我正在尝试设置 Google 负载均衡器,但无法使其工作。它产生 502 或 302 错误。

想要将 www 指向非 www,将 http 指向 https。

这是我的重写规则

    SetEnvIf X-Forwarded-Proto https HTTPS=on
    <VirtualHost _default_:80>
      DocumentRoot "/opt/bitnami/apache/htdocs"
      Include "/opt/bitnami/apps/letsencrypt/conf/httpd-prefix.conf"
      <IfModule mod_proxy.c>
        ProxyPass /.well-known !
      </IfModule>
      RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
      RewriteCond %{HTTP_HOST} !^localhost
      RewriteCond %{HTTP_HOST} !^[0-9]+.[0-9]+.[0-9]+.[0-9]+(:[0-9]+)?$
      RewriteCond %{REQUEST_URI} !^/\.well-known
      RewriteRule ^(.*)$ http://%1$1 [R=permanent,L]
<VirtualHost _default_:443>

  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
  RewriteCond %{HTTP_HOST} !^localhost
  RewriteCond %{HTTP_HOST} !^[0-9]+.[0-9]+.[0-9]+.[0-9]+(:[0-9]+)?$
  RewriteCond %{REQUEST_URI} !^/\.well-known
  RewriteRule ^(.*)$ https://%1$1 [R=permanent,L]

Google 负载均衡器只有 1 个后端服务。后端配置为 HTTP,前端为 HTTPS,超时时间为 60 秒。

  • 可以通过实例的 IP 和负载均衡器的 IP 访问该实例
  • www 到非 www 不起作用。
  • Http 出现 404 错误。
  • https 出现 502 / 302 错误。

重写规则全都是错误的吗?

答案1

据我了解,您正在尝试在外部 HTTP(S) 负载均衡器中将 http 配置为 https,似乎您在 apache 中设置了 URL 重写规则,而不是在 GCP 中进行重定向,具体取决于交通管理对于 HTTP(S) 负载均衡器,重定向包括将所有 HTTP 请求重定向到 HTTPS 请求的功能,下面是例子设置 http-https 重定向

相关内容