#caching #nginx #google-compute-engine #reverse-proxy
#кэширование #nginx #google-compute-engine #обратный прокси
Вопрос:
У меня есть сервер Nginx, установленный на моем хосте RHEL7 GCE, настроенный как кэширующий обратный прокси-сервер, распределяющий трафик на два веб-сервера, отличных от GCE. Я хотел бы заменить Nginx собственными функциями GCE, которые, по-видимому, являются функциями балансировки нагрузки HTTP / S. Но балансировка нагрузки GCE, похоже, предназначена для распределения трафика только на другие экземпляры GCE. И я не знаю, может ли GCE кэшировать то, что он использует для обратного проксирования.
Мои веб-серверы, не относящиеся к GCE, подключены к VPN, настроенной с хостом GCE в качестве конечной точки. Два веб-сервера фактически прослушивают один и тот же IP-адрес, но разные порты. Я хотел бы получить к ним доступ с помощью https://gce-host.com/this -> https://non-gce-host.com:80 и https://gce-host.com/that -> https://non-gce-host.com:81 .
Я также хотел бы рассмотреть другие функции Nginx, такие как контроль доступа.
Является ли собственный набор функций GCE разумной заменой кэширующему обратному прокси-серверу Nginx? Или я должен придерживаться Nginx?
Ответ №1:
Балансировка нагрузки HTTP (S) на данный момент не поддерживает хосты, отличные от GCE, и списки управления доступом.
Если вы все еще хотите извлечь выгоду из глобального присутствия и кэширования интерфейсной инфраструктуры Google HTTP (S), вы, конечно, можете использовать облачный CDN в сочетании с очень легким обратным прокси-сервером без кэширования.
Преимуществом здесь было бы то, что вы получаете кэширование близко к пользователю — таким образом, прокси-сервер nginx на GCE не должен сам выполнять кэширование, что, возможно, уменьшает необходимый размер компьютера, поскольку он будет только перетасовывать биты туда и обратно на ваш исходный сервер и выполнять проверки ACL.
Комментарии:
1. Спасибо. Вы предлагаете использовать Nginx на хосте GCE в качестве обратного прокси для серверов, не являющихся исходными серверами GCE, потому что GCP не поддерживает серверы, отличные от исходных серверов GCE, но не кэширует в Nginx, а вместо этого использует Cloud CDN в качестве уровня кэширования. Является ли активация облачного CDN в этой конфигурации Nginx прозрачной, поэтому все обращения к веб-серверу GCE (Nginx) будут кэшироваться облачным CDN? Никакие обращения непосредственно к веб-серверу GCE не будут обходить кэш Cloud CDN?
2. Ответ: это зависит. Заголовки кэширования и т. Д., Конечно, Должны быть настроены правильно. Промахи кэша объясняются подробнее здесь и необходимая конфигурация здесь
3. Извините, я думаю, что я не понял. Я хочу, чтобы прямой доступ (в обход кэша) к хосту GCE был недоступен для общедоступного Интернета, поэтому доступ к хосту GCE возможен только при прохождении кеша. Да, некоторые из этих обращений будут пропускать кэш (т. Е. новый ресурс на исходном сервере), но будет заполнять кэш, когда запрос поступает через кэш на хост GCE (а затем обратно на исходный сервер).
4. Ах, я понимаю. Это довольно просто, вы можете просто настроить правило брандмауэра, которое разрешает только 130.211.0.0 / 22