Ошибка клиента: `BAN http://varnish` привел к ответу` 405 Not позволено` - PullRequest
0 голосов
/ 26 сентября 2018

Я установил кластер k8s в AWS с помощью kops и следовал инструкциям по развертыванию api-платформы на этом кластере с помощью helm.

Я не понимаю, почему в журнале php pod отображается 405 при php-pod попытаться сделать кеш недействительным в varnish-pod.

В модуле Varnish внутри /usr/local/etc/varnish/default.vcl мой белый список является списком по умолчанию

# Hosts allowed to send BAN requests
acl invalidators {
  "localhost";
  "php";
}

ОБНОВЛЕНИЕЯ думаю, что проблему можно обобщить следующим образом: из модуля A внутри службы AI хотят вызвать службу B. Мне нужно, чтобы в запросе (полученном в модуле B) сохранялся IP службы A, а не IPстручка А.

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

Вот более легкое исправление от платформы api: https://github.com/api-platform/demo/blob/master/api/docker/varnish/conf/default.vcl#L22-L25

Я думаю, что они обновят график руля этим

0 голосов
/ 03 октября 2018

Моя первоначальная проблема может быть обобщена следующим образом:

из модуля A внутри службы. AI хочет вызвать службу B. Мне нужно, чтобы в запросе (полученном в модуле B) был сохранен источник.IP-адрес службы A, а не IP-адрес модуля A.

Но сетевой модели Kubernetes необходимо, чтобы:

  • все контейнеры могли взаимодействовать со всеми другими контейнерами без NAT
  • все узлы могут взаимодействовать со всеми контейнерами (и наоборот) без NAT
  • IP-адрес, который контейнер видит сам как тот же IP-адрес, который другие видят как

Так что мойнужное не может быть удовлетворено.

Поэтому мое решение состоит в том, чтобы использовать https://kubernetes.io/docs/concepts/services-networking/network-policies/, а не полагаться на белый список на основе ip в конфигурации vcl-лака.

...