Ошибка прокси .Net Blazor 0.9 502 только на HTTP post apache2 & Ubuntu 16.04.6 LTS - PullRequest
0 голосов
/ 17 марта 2019

Я использую Blazor 0,9. Когда я пытаюсь использовать http пост. Мой браузер (Chrome) выдает ошибку прокси 502. И ТОЛЬКО НА ПОСТЕ НИКОГДА НЕ ПОЛУЧАЕТ.

Все отлично работает при тестировании на localhost. Я использую обратный прокси-сервер apache2.

Также в базу данных также ничего не заносится.

Не знаю, что делать, я не опытный веб-разработчик, пожалуйста, помогите.

Ответ от сервера

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>502 Proxy Error</title>
</head><body>
<h1>Proxy Error</h1>
<p>The proxy server received an invalid
response from an upstream server.<br />
The proxy server could not handle the request <em><a href="/api/FoodHistory/test/1/5/2019">POST&nbsp;/api/FoodHistory/test/1/5/2019</a></em>.<p>
Reason: <strong>Error reading from remote server</strong></p></p>
<hr>
<address>Apache/2.4.18 (Ubuntu) Server at ******* Port 80</address>
</body></html>

Apache2 config

<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:5000/ retry=1 acquire=3000 connectiontimeout=28800 timeout=28800 Keepalive=On
ProxyPassReverse / http://127.0.0.1:5000/
ErrorLog /var/log/apache2/app-error.log
CustomLog /var/log/apache2/app-access.log common
</VirtualHost>

Пример функции Http Post (сервер)

    [HttpPost("{user}/{day}/{month}/{year}")]
            public IActionResult PostFoodHistory(
                [FromRoute]string user, 
                [FromRoute]int day, 
                [FromRoute]int month, 
                [FromRoute]int year,
                [FromBody]Shared.PostFoodHistory postFood) {
...}

(клиент)

@inject HttpClient Http
    @functions{
    async Task Post() {
        await Http.PostJsonAsync(
                        "/api/FoodHistory/test/1/5/2019",
                        new PostFoodHistory() {
                            foodId = food.id,
                            measurement = 0,
                        }
                    );
               }
    }

Ответы [ 2 ]

1 голос
/ 20 марта 2019

Наконец-то понял!

Это была проблема с разрешениями в Ubuntu.так что я просто chmod 777 рекурсивно использую весь каталог приложения, и теперь все работает.

Но я слышал, что вы не должны этого делать из-за проблем с безопасностью?

В любом случае, разрешение на запись было проблемой:)

0 голосов
/ 17 марта 2019

Я не уверен в этом, но попробуй ... нечего терять

  • Удалить файл global.json из шаблона

    • Сообщение асинхронного задания () { <.................> } * +1010 *

Надеюсь, это поможет ...

...