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

Бэкенд: "Bitnami WordPress с NGINX и SSL Stack для Google Cloud Platform" с торговой площадки.

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

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

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

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

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

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

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

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

2 ответа

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

Мне больше повезло, когда я говорил о балансировке нагрузки с моей виртуальной машиной по протоколу 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; }

Стек битнами потрясающий, все кажется очень быстрым!

Другие вопросы по тегам