使用 nginx 从另一台机器访问 Web 应用程序 (ASP.NET)

Access a web app (ASP.NET) from another machine using nginx

好吧,我们开始吧。
我在 Azure 中有一个 ubuntu 的实例,我正在尝试从这台机器(不是 LocalHost)访问 Web 应用程序。
首先,我安装了所有 dotnet 东西来制作测试应用程序并运行

dotnet new mvc

我检查了 Azure 机器 localhost:5000,这个应用测试运行良好。

然后我安装了 nginx 来远程访问我的应用程序。当我访问public IP时,我可以看到一个nginx的页面。

nginx Page

我已经尝试配置数千次,当我访问 public IP 时,nginx 重定向到我在 Azure Localhost 中的 Web 应用程序 运行。
我尝试过的一种配置是

/etc/nginx/sites-enabled

server {
    listen 80;
    location / {
            proxy_pass http://localhost:5000;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;

    }
}

有什么想法可以实现吗? 对不起英语不好

您错过了 server_name 个参数。

如果那是配置目录中唯一的一个配置,那么还要将 default_server option 添加到 listen 指令中,如下所示:

server {
    listen 80 default_server;
    server_name  my.domain.com;
    location / {
            proxy_pass http://localhost:5000;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;

    }
}

my.domain.com 更改为您的 Azure 实例的适当 FQDN,这样您不仅可以通过在浏览器中输入 IP 地址,还可以使用主机名来发出请求。

并确保您已将该配置包含在 nginx.conf 文件中,例如:

include /etc/nginx/sites-enabled/*;

希望对您有所帮助。