Size: a a a

2018 February 23

AO

Alexander Ovchinnikov 🦁 in gcp_ru
то есть хотелось бы найти некий рекомендуемый способ раздавать статику с бакета на своём сервере, в частности, обнаружилось, что попытка привязать домен приводит к ошибке про некорректный сертификат, а если сверху поставить CloudFlare, то работает ок, но потом если CloudFlare будет проксировать саму себя, это приведёт к 1000 ошибке

попутно выяснилось, что мой веб-сервер (Caddy) не умеет проксировать к файлу, если надо заменить путь, получается, надо использовать HAProxy или nginx, там такое возможно…
источник

ZO

Zon Orti in gcp_ru
А прокси пас не работает? Я когда-то так из s3 нджинксом раздавал
источник

ZO

Zon Orti in gcp_ru
Alexander Ovchinnikov 🦁
то есть хотелось бы найти некий рекомендуемый способ раздавать статику с бакета на своём сервере, в частности, обнаружилось, что попытка привязать домен приводит к ошибке про некорректный сертификат, а если сверху поставить CloudFlare, то работает ок, но потом если CloudFlare будет проксировать саму себя, это приведёт к 1000 ошибке

попутно выяснилось, что мой веб-сервер (Caddy) не умеет проксировать к файлу, если надо заменить путь, получается, надо использовать HAProxy или nginx, там такое возможно…
И зачем к файлу? Это же к URL
источник

AO

Alexander Ovchinnikov 🦁 in gcp_ru
это я криво выразился)
источник

AO

Alexander Ovchinnikov 🦁 in gcp_ru
смысл в том, что надо сделать https://mydomain.com/static/* —> https://storage.googleapis.com/<bucket_name>/static/*
источник

AO

Alexander Ovchinnikov 🦁 in gcp_ru
URI уже будет другим и Caddy и Traefik так уже не умеют вроде, поэтому подходят только HAProxy и nginx
источник

ZO

Zon Orti in gcp_ru
Alexander Ovchinnikov 🦁
смысл в том, что надо сделать https://mydomain.com/static/* —> https://storage.googleapis.com/<bucket_name>/static/*
А вместе с https://caddyserver.com/docs/rewrite не работает?
источник

AO

Alexander Ovchinnikov 🦁 in gcp_ru
я не нашел примеры использования этого с proxy
источник

AO

Alexander Ovchinnikov 🦁 in gcp_ru
я пробовал header_upstream Path "/{$STATIC_PROXY_HOST}{path}"
источник

AO

Alexander Ovchinnikov 🦁 in gcp_ru
как-то так не получилось
источник

AO

Alexander Ovchinnikov 🦁 in gcp_ru
собственно, отсюда и вопрос - мне не так важно, какой там сервер, мне важно раздавать содержимое бакета из директории /static/*, без редиректов, чтобы там 200 был, а не 301/302 на другой сайт (чтобы замаскировать для вышестоящего клиента или сервера адрес бакета и чтобы не было проблем с CORS)
источник

AO

Alexander Ovchinnikov 🦁 in gcp_ru
казалось бы, простой вопрос, а вот 100% готового решения нигде не видел, чтобы copy-paste и работало
источник

AO

Alexander Ovchinnikov 🦁 in gcp_ru
а сам CloudFlare, к сожалению, не умеет маскировать, я могу там настроить forwarding rule, но он будет выдавать 301/302 редиректы туда, поэтому мне нужно делать это на каком-то своём балансировщике после CloudFlare
источник

ZO

Zon Orti in gcp_ru
источник

ZO

Zon Orti in gcp_ru
Alexander Ovchinnikov 🦁
казалось бы, простой вопрос, а вот 100% готового решения нигде не видел, чтобы copy-paste и работало
вариантов кажется очень много, некторые даже отдельное приложение на Go запилили
источник

AO

Alexander Ovchinnikov 🦁 in gcp_ru
спасибо, такой вариант не видел
источник

AO

Alexander Ovchinnikov 🦁 in gcp_ru
а есть для HAProxy?
источник

ZO

Zon Orti in gcp_ru
Кстати, если используется балансировщик от гугля можно ещё проще https://cloud.google.com/compute/docs/load-balancing/http/adding-a-backend-bucket-to-content-based-load-balancing
источник

AO

Alexander Ovchinnikov 🦁 in gcp_ru
Zon Orti
Кстати, если используется балансировщик от гугля можно ещё проще https://cloud.google.com/compute/docs/load-balancing/http/adding-a-backend-bucket-to-content-based-load-balancing
да, я так сначала сделал, а потом он стал деньги списывать) если я правильно посчитал, то там за 1 сайт получается порядка 18 баксов в месяц
источник

AO

Alexander Ovchinnikov 🦁 in gcp_ru
мне проще за 2,5 евро купить Hetzner Cloud VPS и туда воткнуть балансировщик
источник