Как настроить виртуальную машину Google (сгруппированные экземпляры) с балансировкой нагрузки https с CDN, чтобы серверная часть разрешала домен? - PullRequest
0 голосов
/ 13 февраля 2019

Backend: «Bitnami WordPress с NGINX и стеком SSL для Google Cloud Platform» с торговой площадки.

Я использовал это руководство: https://www.am22tech.com/google-cloud-cdn-wordpress/

Я закончилс несколько работающей системой следующим образом:

Мой домен -> (управляемый Google сертификат) -> CDN + Балансировщик нагрузки -> Группа экземпляров -> (http) -> ВМ со стеком bitnami.

Все работает хорошо и, кажется, очень быстро.Самым большим пробелом в моем понимании является то, как виртуальной машине можно сказать, что она должна вести себя так, как будто это исходный домен.

Например, в конфигурации сервера nginx любая ссылка на $ host, похоже, возвращаетIP-адрес виртуальной машины или что-то в этом роде.

Кроме того, в WordPress во многих местах домен заменяется IP-адресом, даже если адрес сайта и адрес WordPress отображаются правильно.Это не вопрос WordPress, хотя я совершенно уверен, что есть более общее решение, которое мне не хватает, возможно, с NGINX или конфигурацией балансировщика нагрузки.Я думаю, что PHP обнаружил хост и передал его WordPress, но я не понимаю, как.

Я нашел ссылку где-то в документации Google, как вручную назначить домен для виртуальной машины, но не уверен, что это то, что нужноздесь.

Кроме того, мне совершенно неясно, как бы я настроил https между виртуальной машиной и балансировщиком нагрузки, но у меня был только один домен / IP-адрес для глобального правила пересылки.Может быть, отдельный вопрос.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Мне повезло больше, когда балансировщик нагрузки говорил с моей виртуальной машиной по https.Когда я заработал, мне не нужно было вносить какие-либо изменения в wp-config.php.В этом случае я не беспокоился о лаке, потому что я думаю, что он поддерживает только http.Я надеюсь, что CDN от Google будет достаточно для кэширования, и я могу попробовать вспомогательный плагин в WordPress.

Чтобы перенаправить http на https, я следовал инструкциям bitnami, чтобы настроить внешние интерфейсы на указатель балансировки нагрузкик тому же статическому IP-адресу, затем в своих блоках сервера nginx я добавил строку перенаправления в блоке https (не в блоке http), поскольку балансировщик нагрузки Google связывается с моим бэкэндом через https.Google устанавливает http_x_fowward_proto на http, поэтому я проверяю это и перенаправляю при необходимости.

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

Стек битнами удивителен, всекажется очень быстро!

0 голосов
/ 13 февраля 2019

Инженер Битнами здесь.Если у вас уже есть домен, сертификаты и балансировщик нагрузки, вам нужно настроить 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/

...