Как настроить виртуальную машину 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; }
Стек битнами потрясающий, все кажется очень быстрым!