Обратный прокси-сервер NGINX для приложения Kestrel / .NET Core возвращает 404

Я пытался разместить приложение .NET Core 2.2 на сервере Digital Ocean Ubuntu, используя NGINX в качестве обратного прокси-сервера для Kestrel, следуя руководству Microsoft .

Кажется, все работает нормально, в моем файле default-server нет ошибок, который выглядит следующим образом

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;

        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-For $scheme;
    }
}

# Virtual Host configuration for example.com
server {
    listen 80;
    listen [::]:80;

    # these were here by default
    root /var/www/example.com;
    index index.html


    location / {
        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-For $scheme;
    }
}

Я запускаю свое приложение на localhost: 5000, используя dotnet [MyApplication].dll, на данный момент все еще есть без ошибок, но переход к PostMan и попытка получить доступ к API через http://<my-server-ip>:80/api/users/new-user возвращает 404:

404 не найдено

404 не найдено


nginx / 1.14.0 (Ubuntu)

Что я делаю не так? Я новичок в настройке сервера, поэтому, пожалуйста, будьте осторожны!

1
задан 14 September 2019 в 11:35

1 ответ

Оказывается, что проблема была внутри location / на try_files $uri $uri/ =404; который начинает искать файлы. Проблема состоит в том, что это - сеть API, который служит JSON, таким образом, никогда не было никакого содержания, которое будет найдено для начала. Удаление этого и виртуальной конфигурации хоста получило все работа.

0
ответ дан 7 December 2019 в 18:48

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

Похожие вопросы: