This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
dotnetcore_webapi_to_windows_plesk [2023/02/10 00:23] sausage created |
dotnetcore_webapi_to_windows_plesk [2023/02/12 20:59] (current) sausage |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Deploying an open, secure-less .NET Core WebAPI to a Plesk host ====== | + | ====== Deploying an open, insecure .NET Core WebAPI to a Plesk host ====== |
- | If you don't have an account with the likes of the Azure or the AWS, but you have your own Windows-based hosting, and you'd like to deploy your own .NET Core WebAPI, it's likely to be quite possible. Even if the host doesn't officially support your version of .NET. | + | {{:webapi:webapi-to-plesk.png?nolink&300 |}}If you don't have an account with the likes of the Azure or AWS, but you have your own Windows-based hosting, and you'd like to deploy your own .NET Core WebAPI, it's likely to be quite possible. Even if the host doesn't officially support your version of .NET. |
At the very least, the process to test it should be fairly straight forward. And I'll provide some troubleshooting along the way in case problems are encountered. | At the very least, the process to test it should be fairly straight forward. And I'll provide some troubleshooting along the way in case problems are encountered. | ||
Line 7: | Line 7: | ||
In my test case, I'll be using a small Plesk-based host that has: | In my test case, I'll be using a small Plesk-based host that has: | ||
- | * Only support up to .NET 4.72 (no .NET Core, that's ok we'll overcome this later) | + | * Only support up to .NET 4.72 (no .NET Core, that's OK we'll overcome this later) |
* Is IIS based | * Is IIS based | ||
* Allows for subdomains | * Allows for subdomains | ||
- | Many non-plesk web hosts should also work. | + | Many non-Plesk web hosts should also work fine too. |
My resources for this test: | My resources for this test: | ||
Line 37: | Line 37: | ||
- Call the Project: RetroGamesAPI | - Call the Project: RetroGamesAPI | ||
- Place the solution and project in the same directory | - Place the solution and project in the same directory | ||
- | - Choose .NET Core 6.0 (Long-term support) so that this article doesn't have to chase the latest and greatest. Feel free to higher version, but is untested with this article. | + | - Choose .NET Core 6.0 (Long-term support) so that this article doesn't have to chase the latest and greatest. Feel free to try higher versions, but is untested with this article. |
- No Authentication | - No Authentication | ||
- Don't configure for HTTPS | - Don't configure for HTTPS | ||
Line 159: | Line 159: | ||
Log into your host and create a subdomain under your domain, calling it something like ''retrogames''. | Log into your host and create a subdomain under your domain, calling it something like ''retrogames''. | ||
+ | |||
+ | {{ :webapi:plesk-add-subdomain.png?nolink |}} | ||
You may have to fix DNS settings using your web host's admin panel to ensure the subdomain is picked up outside for the public. | You may have to fix DNS settings using your web host's admin panel to ensure the subdomain is picked up outside for the public. | ||
Line 169: | Line 171: | ||
https://retrogames.somewhere.net/api/games | https://retrogames.somewhere.net/api/games | ||
+ | (your domain address of course, this is just an example) | ||
You may encounter this: | You may encounter this: | ||
Line 235: | Line 238: | ||
If you get a blank page when browsing your api for the first time, try setting a breakpoint. If the breakpoint does hit, check that ''[Route("api")]'' and ''[Route("games")]'' are on your controller and endpoint respectively. | If you get a blank page when browsing your api for the first time, try setting a breakpoint. If the breakpoint does hit, check that ''[Route("api")]'' and ''[Route("games")]'' are on your controller and endpoint respectively. | ||
+ | |||
+ | ===== References and Further Reading ===== | ||
+ | - https://www.steps2code.com/post/in-process-and-out-of-process-hosting-model-in-asp-net-core | ||
+ | - https://learn.microsoft.com/en-us/aspnet/core/test/troubleshoot-azure-iis?view=aspnetcore-7.0 | ||
+ |