后端:来自市场的“具有NGINX和SSL堆栈的Bitnami WordPress,适用于Google Cloud Platform”。
我使用了本指南:https://www.am22tech.com/google-cloud-cdn-wordpress/
我最终得到了如下的工作系统:
我的域->(由Google管理的证书)-> CDN +负载平衡器->实例组->(http)->具有bitnami堆栈的VM。
一切正常,并且看起来非常快。据我了解,最大的差距是如何告知VM需要表现得好像是原始域一样。
例如,在nginx服务器配置中,对$ host的任何引用似乎都会返回VM的IP地址或类似的东西。
此外,在wordpress中,即使站点URL和wordpress地址正确显示,在很多地方该域也被IP地址代替。不过,这不是WordPress的问题,因为我敢肯定,我缺少使用NGINX或负载均衡器配置的更通用的解决方案。我认为PHP可以检测到主机并将其传递给wordpress,但是我不清楚如何。
我在google文档的某处找到了有关如何手动将域分配给VM的参考,但不确定此处是否需要这样做。
此外,我还不清楚如何在虚拟机和负载均衡器之间设置https,但是全局转发规则只有一个域/ ip地址。也许是一个单独的问题。
答案 0 :(得分: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/
答案 1 :(得分:0)
最好让负载均衡器通过https与我的VM对话。一旦完成该工作,就无需对wp-config.php进行任何更改。在这种情况下,我不必理会清漆,因为我认为它仅支持http。我希望Google的CDN在缓存方面足够了,我可以在wordpress中尝试一个辅助插件。
要将HTTP重定向到https,我按照bitnami指令设置了指向负载均衡器的前端,使其指向相同的静态ip地址,然后在我的nginx服务器块中,在https块中添加了重定向行(不是http块),因为google负载均衡器通过https与我的后端通信。 Google将http_x_fowward_proto设置为http,所以我检查了该链接并在必要时重定向。
if($ http_x_forwarded_proto =“ http”){返回301 https:// $ host $ request_uri; }
bitnami堆栈很棒,一切看起来都非常快!