ASP Net Core Linux ERR_CONNECTION_REFUSED - PullRequest
0 голосов
/ 19 мая 2019

Я тестирую развертывание сетевого ядра на дроплет Digitalocean под управлением Ubuntu 18.04 и Nginx 1.14.Для тестирования я использую шаблоны, доступные в «dotnet new».

dotnet new web и dotnet new mvc приложения работают нормально.Я могу связаться с ними из моего браузера.У меня проблемы с новым приложением dotnet webapi .Однако, пытаясь достичь этого, я получаю ответ ERR_CONNECTION_REFUSED.

Краткая версия того, что я сделал для настройки моей капли:

wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb

sudo dpkg -i packages-microsoft-prod.deb

sudo add-apt-хранилище юниверса

sudo apt-get install apt-transport-https

sudo apt-get update

sudo apt-get install dotnet-sdk-2.2

sudo apt install nginx sudo ufw разрешить 'Nginx HTTP'

/ etc/ nginx / sites-available / содержимое по умолчанию:

server {
 listen 80;
 location / {
 proxy_pass http://127.0.0.1:5000; #also tried 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-Proto $scheme;
 }
}

Результаты от curl (ip-адрес намеренно задрапирован)

curl -I -X GET http://123.123.123.123/api/values

HTTP/1.1 307 Temporary Redirect
Server: nginx/1.14.0 (Ubuntu)
Date: Sun, 19 May 2019 00:32:21 GMT
Content-Length: 0
Connection: keep-alive
Location: https://123.123.123.123:5001/api/values

Мой журнал Nginx выдает мне эту ошибку, которую я гуглил безрезультатно:

2019/05/19 00:03:06 [error] 3632#3632: *4 connect() failed (111: Connection refused) while connecting to upstream, client: 12.123.12.123, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:5000/", host: "123.123.123.117"

В ответ на вопрос @ Оливера, вот вывод netstat -ntlp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3527/nginx: master
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      605/systemd-resolve
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      946/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      946/sshd

Какие-либо предложения относительно того, что я мог бы пропустить?

Спасибо!

1 Ответ

1 голос
/ 19 мая 2019

Ответ от сервера объясняет причину.Запрос GET на http://127.0.0.1:5000 перенаправляется на https://123.123.123.123:5001/api/values, это потому, что перенаправление HTTPS активно.

Решение: Откройте файл Startup.cs.Найдите следующую строку в методе public void Configure(...) и закомментируйте ее:

app.UseHttpsRedirection();

Здесь вы можете прочитать об этом подробнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...