.Net Core Web API 在 Linux 服务器 CentOS7 中返回 404

问题描述 投票:0回答:1

我有一个托管在 Linux CentOS7 服务器上的 .net core Web API,当我尝试访问它时,出现 404 错误。

  1. 我已在 Apache 配置中的 Post VirtualHost Include 中创建了一个虚拟主机。以下是我的虚拟主机:

    服务器管理员 [电子邮件受保护] 服务器名称 z.teapiocaintl.com

     # Remove DocumentRoot, it's not needed for an API
     # DocumentRoot /home/teapiocaintl/public_html/z.teapiocaintl.com/TeapiocaAPI
    
     ErrorLog /var/log/apache2/teapiocaapi_error_log
     CustomLog /var/log/apache2/teapiocaapi_access_log common
    
     <Directory "/">
         AllowOverride All
     </Directory>
    
     # Proxy requests to the .NET Core API running on localhost:<your_api_port>
     ProxyPass / http://localhost:<actual_api_port>/
     ProxyPassReverse / http://localhost:<actual_api_port>/
    
     ProxyPreserveHost On
    
  2. 我已经验证服务器配置了.net core 6运行时。

  3. 相应的文件夹具有读/写权限。

  4. 我确信这些文件位于各自的文件夹中。

我还需要检查什么吗?

linux asp.net-core-webapi centos7
1个回答
0
投票

这应该与

ASPNETCORE_ENVIRONMENT
变量有关。 404 表示 asp.net core 应用程序正在运行。

您可以直接访问api进行验证。在生产环境中,默认情况下不显示 swagger ui 页面。

您可以通过删除

app.Environment.IsDevelopment()
条件来实现此目的。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.