Почему не работает обратный прокси Nginx к серверу Bokeh?

Я пытаюсь настроить обратный прокси-сервер Nginx для веб-приложения, обслуживаемого сервером Python Bokeh, как указано здесь:

https://bokeh.pydata.org/en/latest/docs/user_guide/server.html

Для тестирования я использую простой myapp.py по той же ссылке. Я использую bokeh serve myapp.py --port 5100 для запуска приложения.

Мой сервер Nginx запущен и работает. Я изменил настройку Nginx, чтобы разрешить обратный прокси для порта 5100 следующим образом:

server {
listen 80 default_server;
server_name _;

access_log  /tmp/bokeh.access.log;
error_log   /tmp/bokeh.error.log debug;

location / {
    proxy_pass http://127.0.0.1:5100;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host:$server_port;
    proxy_buffering off;
}

}

Однако когда я захожу на http://localhost/, меня отправляют на localhost/myapp и выдают ошибку. Приложение все еще работает нормально на localhost:5100/myapp.

Что я делаю неправильно? Любая помощь или предложение будет принята с благодарностью.

0 ответов

Мне удалось настроить NGINX для обратного обращения прокси-запросов на порт 5006, указав --prefix вариант в bokeh serve команда.

Пример команды подачи боке:

bokeh serve myapp.py --port=5006 --prefix=/apps

Конфигурация NGINX:

location /apps {
    proxy_pass http://127.0.0.1:5006;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host:$server_port;
    proxy_buffering off;
}

Вы должны иметь доступ к своему приложению Bokeh, используя URL-адрес: http://localhost/apps/myapp.

Другие вопросы по тегам