Как настроить nginx для обслуживания динамических страниц вместо index.html? - PullRequest
0 голосов
/ 07 ноября 2019

My Swagger Flask Python Api отлично работает локально, но при вызове из nginx в Google Cloud Mozilla и Postman выдают «Не удалось получить ответ». Я полагаю, это потому, что в папке, где я запускаю API, нет индексной страницы. Конфигурация в enabled-pages выглядит следующим образом:

server {
listen 5000;
listen [::]5000 default_server;
root /path_to_folder_from_where_the_api_is_started;
index index.html;
server_name aa;
location / {
    try_files $uri $uri/ = 404;
}
}

Должен ли я использовать вместо корня команду proxy_pass и удалить "index index.html;"?

Спасибо!

1 Ответ

0 голосов
/ 07 ноября 2019

Что ж, у вас, скорее всего, приложение python flask работает в отдельном процессе, который работает на отдельном порту. Таким образом, вам нужно использовать proxy_pass для запроса прокси к нему. Это пример с манжеты, и вы должны хотя бы много тестировать.

server {
    listen 80;
    server_name default_server;
    root /path_to_folder_from_where_the_api_is_started/;

    location /static  {
        alias /path_to_folder_from_where_the_api_is_started/static;
    }

    location / {
        include            /etc/nginx/uwsgi_params;
        uwsgi_pass         127.0.0.1:8080;
        proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
    }
}
...