You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GoDaddy服务器部署Angular项目与ASP.NET MVC Web API?API部署遇阻求助

Hey there, sorry to hear your ASP.NET MVC Web API is giving you grief after getting your Angular app up and running smoothly on GoDaddy! Let’s break down the most common fixes and checks to get your API working properly.

1. Verify GoDaddy Server Supports ASP.NET MVC Web API

First, make sure your hosting plan is set up to run .NET applications:

  • Check your GoDaddy hosting plan details: Log into your GoDaddy control panel and confirm your plan supports ASP.NET (some budget plans only handle static files or PHP). Ensure the .NET Framework version matches what your API was built with (e.g., .NET Framework 4.8).
  • Check Application Pool settings: GoDaddy uses IIS, so your API needs the right application pool configuration. Head to your hosting panel (Plesk or GoDaddy's native manager), find the pool linked to your API's directory, and set:
    • .NET CLR Version to match your project (e.g., v4.0.30319)
    • Managed Pipeline Mode to Integrated (ASP.NET Web API requires this mode to route requests correctly)
2. Deploy the API Correctly (Don't Upload Source Code!)

It’s easy to make a mistake here—you need to publish your API, not just copy development files:

  • Publish from Visual Studio: Right-click your API project in Visual Studio, select Publish, choose Folder as the target, and generate the published output (usually in bin/Release/PublishOutput). Upload these files to a separate directory on GoDaddy (e.g., a /api folder at your domain root—don’t mix it with your Angular dist files!).
  • Validate Web.config settings:
    • Connection Strings: Update any database connection strings to use GoDaddy’s database credentials (not your local dev DB details).
    • Custom Errors: Temporarily set <customErrors mode="Off"/> in Web.config to see detailed error messages in the browser—this is critical for debugging.
    • Routing Configuration: Double-check that your WebApiConfig.cs has the correct routing setup (e.g., config.MapHttpAttributeRoutes(); and the default route definition) before publishing.
3. Fix Routing & Path Conflicts

Angular’s client-side routing can interfere with your API if not configured properly:

  • Test the API directly: Try accessing a simple API endpoint in your browser (e.g., https://yourdomain.com/api/values if you have a default ValuesController). If you get a 404, either the API isn’t deployed correctly, the application pool isn’t running, or routing is misconfigured.
  • Keep Angular and API separate: Never deploy the API inside your Angular dist folder—Angular’s rewrite rules will intercept API requests and try to route them as client-side routes.
  • Exclude API paths from Angular’s rewrite rules: If you added a rewrite rule to fix Angular’s refresh 404 issue, update it to exclude your API path. Here’s an example for the Angular directory’s web.config:
    <rule name="Angular Routes" stopProcessing="true">
      <match url=".*" />
      <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        <add input="{REQUEST_URI}" pattern="^/api/" negate="true" /> <!-- Skip API requests -->
      </conditions>
      <action type="Rewrite" url="/index.html" />
    </rule>
    
4. Resolve CORS Issues

Since your Angular app is a separate client, browsers will block cross-origin requests by default—you need to enable CORS in your API:

  • Install the CORS package: In your API project, use NuGet to install Microsoft.AspNet.WebApi.Cors.
  • Enable CORS in WebApiConfig.cs:
    using System.Web.Http.Cors;
    
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Allow your Angular domain (replace with your actual domain)
            var cors = new EnableCorsAttribute("https://yourdomain.com", "*", "*");
            config.EnableCors(cors);
    
            // Rest of your routing setup...
        }
    }
    
    For testing, you can use new EnableCorsAttribute("*", "*", "*") to allow all origins, but restrict it to your production domain once things work.
5. Check Logs & Permissions
  • Review IIS logs: GoDaddy’s hosting panel lets you access IIS logs (usually in a /logs/IIS directory). Look for error codes like 500 (server error), 404 (not found), or 403 (forbidden) to narrow down issues.
  • Test locally first: Publish your API to a local folder and test it with Postman or a browser to confirm the code itself works—this rules out bugs in your API.
  • File permissions: Ensure the IIS process (usually IIS_IUSRS) has read and execute permissions on your API’s directory. Use GoDaddy’s file manager to adjust permissions if needed.

内容的提问来源于stack exchange,提问作者BigBadWolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:26:47