如何解决Net 5.0 API 在本地运行,但在服务器上时返回 404
我在这个问题上挣扎了很长一段时间。所以这就是我正在做的。在本地,我在 Windows 10 上使用 Visual Studio,同时我使用 ubuntu 18.04 作为我的服务器创建了一个 Digital Ocean Droplet。我在服务器上安装了 dotnet-sdk-5.0
。
然后我:
- 使用 VS 将我的 API 发布到文件夹,针对 linux-64(见下图)
-
使用构建的文件创建
publish
目录的 *.zip 文件。 -
使用 sftp 将 zip 上传到服务器上的
/var/www/glista/
并在那里解压。 -
cd /var/www/glista/publish/
在服务器上 -
使用
dotnet Glista.Api.dll
运行 net 5.0 api。 -
然后我向服务器打开了另一个 ssh 实例。并使用
wget https://localhost:5001/swagger/index.html --no-check-certificate
查看我的本地主机是否正在运行并有任何数据。嗯......输出是:wget https://localhost:5001/swagger/index.html --no-check-certificate --2021-02-08 11:05:53-- https://localhost:5001/swagger/index.html 解析本地主机(本地主机)... 127.0.0.1 连接到 localhost (localhost)|127.0.0.1|:5001... 已连接。 警告:无法验证本地主机的证书,由“CN=localhost”颁发: 无法在本地验证发行人的权限。 已发送 HTTP 请求,正在等待响应... 404 Not Found 2021-02-08 11:05:54 错误 404:未找到。
这不是我所期望的。
请注意:在我的本地机器,Windows 和 VS 上,此代码运行无错误,我可以正常打开 localhost:5001/swagger/index.html。但是,通过上述步骤,我无法在服务器端执行某些操作。为了这个例子,我排除了任何与 apache/nginx 相关的问题,因此我使用了 wget
。
我在这里做错了什么?为什么是 404?如果重要:我还在服务器上打开了端口 5000 和 5001。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。