Пустой ответ от размещенного на сервере Openshift веб-сервиса Django при доступе из-за пределов кластера Openshift - PullRequest
0 голосов
/ 26 августа 2018

Я следовал инструкциям здесь настроить развертывание OpenShift Origin для проекта Django, над которым я работаю. Кажется, все работает. Существует Pod, запускающий сервис с настроенным маршрутом, и сервис доступен. Однако, когда я захожу на сайт, я получаю сообщение об ошибке, что соединение было сброшено. Использование curl:

curl http://my-openshift-website.com

Результаты в

curl: (52) Empty reply from server

Кроме того, я наблюдаю следующие явления:

  • Я знаю, что код, который обслуживает веб-страницу индекса, запускается, когда я обращаюсь к ней из своего браузера (или с помощью curl), потому что, когда я добавляю код для создания пустого файла при запросе страницы '/', я вижу в модуле pod терминал, что файл действительно создан.
  • Когда я пытаюсь выполнить ту же команду curl с терминала pod (то есть из кластера), все работает, и я получаю веб-страницу.
  • Файлы журналов модуля не регистрируются, когда я пытаюсь получить доступ к службе через веб-браузер, но регистрируют доступ, когда я делаю это с терминала pod.

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

только потому, что аннотация или сопоставление DNS также могут способствовать такому поведению

также можно объяснить аннотацию, которую вы упомянули, потому что я пытался найти эту аннотацию https://docs.openshift.com/container-platform/3.4/architecture/core_concepts/routes.html#route-specific-annotations, но не смогнайти

0 голосов
/ 27 августа 2018

Это была глупая ошибка с моей стороны.Я использую кластер OpenShift, развернутый CERN (openshift.cern.ch).Я не изменил настройку видимости с «Интранет» на «Интернет» в разделе «Доступ к сайту и разрешения» на странице «Управление веб-сайтами CERN».Существует дополнительное объяснение о том, как работает этот параметр:

На приведенной выше странице конфигурации в веб-службах обрабатывается маршрут по умолчанию в вашем проекте Openshift, т. Е. Маршрут, где свойство Path не определено (и хостсвойство соответствует полному доменному имени, назначенному веб-сервисами).

При использовании нескольких маршрутов в проекте и / или маршрутов со свойством Path, видимость каждого маршрута контролируется независимо через аннотацию маршрута router.cern.ch/network-visibility,Эта аннотация в настоящее время принимает два значения: Интернет или Интранет.Никакая аннотация (или любое другое значение) не интерпретируется как Интранет, т.е. маршрут будет доступен только из сети CERN.

Аннотациями можно манипулировать с помощью команды CLI oc annotate, например, oc annotate route my-route router.cern.ch/network-visibility=Intranet

...