Недавно я создал экземпляр виртуальной машины в Google Cloud с ОС. будучи Ubuntu 18.04.5, экземпляр выглядит вполне нормально. Я клонировал репозиторий git и запустил .NET Core API для локального запуска, как это видно на снимке экрана ниже.
Терминальное запущенное приложение
Затем я добавил правило брандмауэра в VPC виртуальной машины, позволяющее выполнять HTTP-соединения через эти порты, как показано на снимке экрана ниже.
Как видно, он должен применяться ко всем экземплярам в сети из каждого источника, и я позаботился о том, чтобы открыть его для исходящего и входящего трафика, пытаясь устранить неполадки. В любом случае, когда я пытаюсь получить к нему доступ (пользовательский интерфейс Swagger) с помощью своего браузера, он говорит, что не может подключиться, и даже команда telnet работает по тайм-ауту.
Могу ли я сделать любую настройку еще? Я что-то ввожу в заблуждение? Что бы это могло быть?
Это был именно тот Джон! Большое спасибо!
Опубликуйте ответ, показывающий изменения приложения.
Для поиска потомков все, что потребовалось, это изменить мои настройки запуска, чтобы заставить мой сервер слушать 0.0.0.0
вместо localhost
. Для этого я обновляю свой файл launchSettings.json из:
"Api": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "https://localhost:44395/",
"applicationUrl": "https://localhost:44395/",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
к:
"Api": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "https://0.0.0.0:44395/",
"applicationUrl": "https://0.0.0.0:44395/",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
Ваш сервер прослушивает
localhost
, что означает, что только приложения, работающие внутри виртуальной машины, могут подключаться. Измените на0.0.0.0
, что означает прослушивание соединений на всех сетевых интерфейсах.