0

后端:来自市场的“Bitnami WordPress with NGINX and SSL Stack for Google Cloud Platform”。

我使用了本指南: https ://www.am22tech.com/google-cloud-cdn-wordpress/

我最终得到了一个有点工作的系统,如下所示:

我的域 ->(谷歌托管证书)-> CDN + 负载均衡器 -> 实例组 ->(http)-> 带有 bitnami 堆栈的 VM。

一切运作良好,似乎非常快。我理解的最大差距是如何告诉虚拟机它需要表现得好像它是原始域一样。

例如,在 nginx 服务器配置中,任何对 $host 的引用似乎都会返回 VM 的 IP 地址或类似的东西。

此外,在 wordpress 中,在很多地方域被 IP 地址替换,即使站点 URL 和 wordpress 地址显示正确。不过,这不是一个 wordpress 问题,因为我很确定我缺少一个更通用的解决方案,可能与 NGINX 或负载均衡器配置有关。我认为 PHP 检测到主机并将其传递给 wordpress,但我不清楚如何。

我在 google 文档中的某处找到了如何手动将域分配给 VM 的参考,但不确定这是这里需要的。

除此之外,我完全不清楚如何在 vm 和负载均衡器之间设置 https,但全局转发规则只有一个域/IP 地址。也许是一个单独的问题。

4

2 回答 2

3

Bitnami 工程师在这里。如果您已经拥有域、证书和负载均衡器,则需要将 WordPress 配置为使用该域名作为应用程序的默认域。您将需要编辑 wp-config.php 文件并配置这些行

define('WP_SITEURL', 'http://DOMAIN/');
define('WP_HOME', 'http://DOMAIN/');

更多信息:https ://docs.bitnami.com/google/apps/wordpress-pro/administration/configure-domain/

如果您还希望 NGINX 重定向您的域,无论您如何访问应用程序的信息,都可以添加此配置行

  return 301 https://DOMAIN$request_uri;

在 /opt/bitnami/nginx/conf/bitnami/bitnami.conf 文件中

更多信息:https ://docs.bitnami.com/google/apps/wordpress-pro/administration/force-https-nginx/

于 2019-02-13T15:19:21.513 回答
0

我最好让负载均衡器通过 https 与我的虚拟机对话。一旦我开始工作,我就不必对 wp-config.php 进行任何更改。在这种情况下,我没有打扰 varnish,因为我认为它只支持 http。我希望 google 的 CDN 在缓存方面就足够了,我可以在 wordpress 中尝试一个帮助插件。

要将 http 重定向到 https,我按照 bitnami 说明将前端设置为指向相同静态 IP 地址的负载均衡器,然后在我的 nginx 服务器块中,我在 https 块中添加了一个重定向行(不是 http 块),因为谷歌负载均衡器通过 https 与我的后端通信。Google 将 http_x_fowward_proto 设置为 http,所以我检查它并在必要时重定向。

if ($http_x_forwarded_proto = "http") { 返回 301 https://$host$request_uri; }

bitnami 堆栈很棒,一切看起来都非常快!

于 2019-02-15T18:24:41.167 回答