У меня есть веб-сайт с Балансировщик нагрузки Google Cloud, называется santi.com
у меня есть Сегмент Google Cloud Storage называется santi-pictures
Я успешно настроил Хост и правило пути из этого балансировщика нагрузки в этот сегмент, введя эту информацию в Google Cloud Console.
+-----------+-------------+----------------+
| Hosts | Paths | Backends |
+-----------+-------------+----------------+
| santi.com | /pictures/* | santi-pictures |
+-----------+-------------+----------------+
Он работает правильно, когда я получаю доступ к этому URL-адресу в браузере ...
http://santi.com/pictures/me.jpg
... пока есть фотография в этом месте в ведре:
gs://santi-pictures/pictures/me.jpg
Но как я могу изменить мою конфигурацию балансировщика нагрузки так что вместо этого я могу получить следующее изображение, когда я использую URL-адрес, упомянутый выше:
gs://santi-pictures/me.jpg
Это уже ведро с изображениями, поэтому мне не имеет смысла помещать в него папку с изображениями.
Спасибо за вашу помощь.
Я тестировал следующие правила хоста и пути и проверял с помощью http: // ip-балансировщика нагрузки / имя-файла и смог получить доступ к файлу, находящемуся в корне сегмента, определенного в конфигурации серверной части балансировщика нагрузки.
| Хосты | Пути | Backends |
| ВЕБ-СЕРВЕР-IP | / * | Имя серверной службы |
Попробуйте скопировать изображение в корень вашего сегмента, определенного в конфигурации бэкэнда балансировщика нагрузки, и добавьте или измените «Правила хоста и пути», чтобы определить путь как «/ *» (без кавычек). Вы должны иметь доступ к изображению, используя "gs: // bucket-name / file-name" или "http: // ip-балансировщика нагрузки / имя-файла"
Надеюсь, поможет.
Тем не менее, по состоянию на 30 декабря 2019 года в Google Cloud CDN это невозможно. Это было невозможно и на AWS, но с прошлогодним предложением AWS Lambda @ Edge вы можете переписывать URL-адреса по своему усмотрению, а также выполнять любые вычисления на периферии, такие как аутентификация или другие настраиваемые рабочие процессы с использованием функций Lambda. Несмотря на то, что исходный плакат смог заставить его работать без перезаписи URL-адреса, IMO это сильная функция, если вам действительно нужны вычисления на границе CDN. Фактически, это одно из больших уникальных ценностных предложений Cloudflare CDN (называемое Cloudflare Workers). Google медленно продвигается к интеграции своих облачных функций с другими сервисами, но я могу представить, что эта интеграция будет существовать в Google Cloud CDN через пару лет.
Я надеялся сделать то же самое, что и @ santiago-arizti, но я не верю, что это возможно на момент написания этого. Согласно Гугл документы:
Обслуживаемый объект облачного хранилища определяется на основе карты URL-адресов и запрашиваемого URL-адреса. Если путь запроса сопоставляется с бакетом серверной части в вашей карте URL-адресов, объект Cloud Storage определяется путем добавления полного пути запроса к сегменту Cloud Storage, указанному картой URL.
Например, если вы сопоставите / static / * с gs: // [EXAMPLE_BUCKET], запрос к https: ///static/path/to/content.jpg будет пытаться обслуживать gs: // [EXAMPLE_BUCKET] / static / путь / к / content.jpg