{"id":909,"date":"2026-10-21T22:40:26","date_gmt":"2026-10-21T22:40:26","guid":{"rendered":"https:\/\/windows-vps.org\/blog\/?p=909"},"modified":"2026-10-21T22:40:26","modified_gmt":"2026-10-21T22:40:26","slug":"aspnet-core-iis-ancm-module-deployment-errors","status":"publish","type":"post","link":"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/","title":{"rendered":"ASP.NET Core Behind IIS: ANCM Hosting Models and 500.30 \/ 502.5 \/ 500.19 Fixes"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">ASP.NET Core does not run inside IIS. It runs as a separate out-of-process <code>dotnet<\/code> worker, and IIS sits in front of it as a reverse proxy using the ASP.NET Core Module (ANCM). Understanding that one sentence explains almost every deployment failure administrators hit on Windows: the 500.30, the 502.5, the app that works with <code>dotnet run<\/code> but not through a site binding, and the HTTPS redirect loop. This article covers the install order, the module configuration that matters, and the diagnostic path for each of the common failures.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Two Hosting Models and Which One You Are Using<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In-process hosting (<code>&lt;AspNetCoreHostingModel&gt;InProcess&lt;\/AspNetCoreHostingModel&gt;<\/code> in the project file, and the default since .NET Core 3.0) loads the application inside <code>w3wp.exe<\/code> via a modified ANCM. Out-of-process hosting runs <code>dotnet MyApp.dll<\/code> as a child process and proxies HTTP over a loopback port. In-process is faster \u2014 no extra hop, no port, less memory \u2014 and it is the right default on Windows Server. Out-of-process remains useful when you need a different runtime version than the server&#8217;s or when you want the worker isolated from IIS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The distinction matters for troubleshooting because the log locations and error codes differ. Both ultimately surface in the Windows Application event log under source <code>IIS AspNetCore Module V2<\/code>, but in-process failures usually appear as a request-level 500 with a stack trace in the app&#8217;s own logging, while out-of-process failures often appear as a proxy error before the app has produced any output.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Install Order: Runtime, Hosting Bundle, IIS Feature<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Step<\/th><th>Component<\/th><th>Why order matters<\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>IIS role with Static Content, Request Filtering, WebSocket Protocol<\/td><td>ANCM installer registers handlers against an existing IIS<\/td><\/tr><tr><td>2<\/td><td>ASP.NET Core Hosting Bundle (.NET 8 or later)<\/td><td>Installs ANCM V2 plus the shared runtime and <code>dotnet<\/code> CLI<\/td><\/tr><tr><td>3<\/td><td>Verify <code>dotnet --list-runtimes<\/code><\/td><td>Confirms the runtime matches the app&#8217;s target framework<\/td><\/tr><tr><td>4<\/td><td>Publish output to the site folder<\/td><td>web.config is generated by the SDK at publish time<\/td><\/tr><tr><td>5<\/td><td>Restart IIS (<code>iisreset<\/code>)<\/td><td>Picks up module registration changes<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The most common install mistake is installing the runtime (the lightweight installer) rather than the Hosting Bundle. The runtime includes <code>dotnet<\/code> and the shared frameworks but not ANCM, so IIS has no handler for the application and returns a static 404 or 500.19. If <code>%ProgramFiles%\\IIS\\Asp.Net Core Module\\V2\\aspnetcorev2.dll<\/code> is missing, this is your problem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After installing the bundle, <code>iisreset<\/code>. The ANCM installer registers the module at the server level, but a running worker process will not see the new module until it restarts. Skipping this step produces a &#8220;module handler not found&#8221; error on an otherwise correct installation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reading the web.config the SDK Generates<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Publishing an ASP.NET Core project emits a <code>web.config<\/code> whose relevant section looks like this for in-process hosting:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>&lt;aspNetCore processPath=\"dotnet\" arguments=\".\\MyApp.dll\" hostingModel=\"inprocess\" stdoutLogEnabled=\"false\" \/&gt;<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Three edits are worth making. First, set <code>stdoutLogEnabled=\"true\"<\/code> and <code>stdoutLogFile=\".\\logs\\stdout\"<\/code> during initial deployment \u2014 this is the only place startup exceptions are written before the app&#8217;s own logger is configured. Turn it back off once stable, or the log directory will fill. Second, add <code>hostingModel=\"inprocess\"<\/code> explicitly if you are migrating from an older publish profile that assumes out-of-process. Third, for out-of-process, set the <code>processPath<\/code> to the absolute path of <code>dotnet.exe<\/code> if the PATH is ambiguous.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Remember that <code>web.config<\/code> in the publish folder is the effective one. Editing the project-level file does nothing at runtime, and editing the deployed copy gets overwritten on the next publish unless you have configured the build to preserve changes. Keep a transform or a post-publish step instead.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Application Pool and Identity Settings<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Two application pool settings cause more ASP.NET Core support tickets than any others. The first is &#8220;No Managed Code&#8221;: the pool&#8217;s .NET CLR Version must be set to No Managed Code, because IIS is only proxying \u2014 leaving it on v4.0 loads the legacy CLR for no reason and can cause odd module conflicts. The second is the identity: the default <code>ApplicationPoolIdentity<\/code> works fine for reading the publish folder, but any file writes (logs, uploads, data protection keys) need an explicit ACL grant on those folders.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Data protection keys deserve a specific mention. ASP.NET Core encrypts cookies and antiforgery tokens using keys stored under the user profile by default. Under <code>ApplicationPoolIdentity<\/code> those keys live in a profile that may be recycled or recreated, which manifests as users being logged out at random. Persist the keys to a folder with an explicit ACL, or to a shared location if you run multiple nodes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Diagnosing 500.30, 502.5, and 500.19<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>HTTP Error 500.30 &ndash; ANCM In-Process Start Failure<\/code> means the app started and then exited. The app&#8217;s stdout log is the place to look. Typical causes: a missing appsettings section, a connection string the app cannot reach at startup, a <code>Program.cs<\/code> exception in top-level statements, or a target framework mismatch between the publish output and the installed runtime.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>HTTP Error 502.5 &ndash; Process Failure<\/code> is the out-of-process analogue: ANCM launched <code>dotnet app.dll<\/code> and the process exited before binding a port. Read the stdout log for the exception. If there is no log at all, the process failed before the app&#8217;s logger initialised \u2014 usually a missing runtime version or a bad path in <code>processPath<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>HTTP Error 500.19<\/code> with &#8220;cannot read configuration file because it contains invalid XML&#8221; or &#8220;this configuration section cannot be used at this path&#8221; is an IIS-level problem, not an app problem. It is usually a missing IIS feature (AspNetCoreModuleV2 section locked), a 32-bit\/64-bit mismatch in the handler, or a duplicated <code>&lt;aspNetCore&gt;<\/code> element from a copied web.config. Check the &#8220;Config Error&#8221; block on the error page \u2014 it names the exact file and line.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For anything intermittent, enable Failed Request Tracing at the site level with a rule scoped to status codes 400&ndash;599. The trace will show how far the request got through the module chain, which cleanly separates an ANCM problem from an application problem. Our walkthrough on <a href=\"https:\/\/windows-vps.org\/troubleshoot-dotnet-iis-startup-500-30-failed-request-tracing\">tracing .NET startup failures in IIS<\/a> has the step-by-step setup.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HTTPS, Forwarded Headers, and the Redirect Loop<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The classic symptom is an infinite redirect on an HTTPS site that works over HTTP. IIS terminates TLS and forwards a plain HTTP request to the app; the app sees <code>HttpContext.Request.Scheme == \"http\"<\/code> and its <code>UseHttpsRedirection<\/code> middleware redirects to HTTPS, which IIS terminates again, and the cycle repeats. The fix is the Forwarded Headers middleware, configured to trust the loopback proxy and to honour <code>X-Forwarded-Proto<\/code>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>app.UseForwardedHeaders(new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto });<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This must be registered before <code>UseHttpsRedirection<\/code> and before authentication. In .NET 8 and later the default known-networks list excludes the loopback address, so you must either add <code>KnownNetworks<\/code>\/<code>KnownProxies<\/code> for <code>127.0.0.1<\/code> and <code>::1<\/code>, or clear the lists if IIS is the only ingress. Also configure <code>ASPNETCORE_FORWARDEDHEADERS_ENABLED=true<\/code> on hosts where you cannot change code.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A Deployment Checklist<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Hosting Bundle installed, not just the runtime; ANCM V2 DLL present; <code>iisreset<\/code> run afterwards.<\/li><li>App pool set to No Managed Code, 64-bit, and an identity with explicit ACLs on log and key folders.<\/li><li><code>web.config<\/code> hosting model set deliberately; stdout logging on for first deploy, off once stable.<\/li><li>Data protection keys persisted outside the user profile.<\/li><li>Forwarded headers configured before HTTPS redirection; known proxies include the loopback address.<\/li><li>Failed Request Tracing enabled temporarily for any startup or redirect issue.<\/li><li>Publish artifact tested on the same runtime version as the server, not the dev machine.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Get those seven items right and ASP.NET Core on IIS is a quiet, reliable deployment. Most of the pain people attribute to IIS comes from the mismatch between what the SDK publishes and what the server actually has installed. If you are provisioning a new host for this kind of workload, the <a href=\"https:\/\/windows-vps.org\/\">Windows VPS plans for .NET and IIS hosting<\/a> list the instance shapes that include the memory headroom a hosting bundle plus a worker process needs, and the <a href=\"https:\/\/windows-vps.org\/contact\">support team can confirm<\/a> which .NET runtimes are preinstalled on your chosen image.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>ASP.NET Core does not run inside IIS. It runs as a separate out-of-process dotnet worker, and IIS sits in front of it as a reverse proxy using the ASP.NET Core Module (ANCM). Understanding that one sentence explains almost every deployment failure administrators hit on Windows: the 500.30, the 502.5, the app that works with dotnet &#8230; <a title=\"ASP.NET Core Behind IIS: ANCM Hosting Models and 500.30 \/ 502.5 \/ 500.19 Fixes\" class=\"read-more\" href=\"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/\" aria-label=\"Read more about ASP.NET Core Behind IIS: ANCM Hosting Models and 500.30 \/ 502.5 \/ 500.19 Fixes\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-909","post","type-post","status-publish","format-standard","hentry","category-reviews"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ASP.NET Core Behind IIS: ANCM Hosting Models and 500.30 \/ 502.5 \/ 500.19 Fixes - Windows VPS Blog<\/title>\n<meta name=\"description\" content=\"ASP.NET Core does not run inside IIS. It runs as a separate out-of-process dotnet worker, and IIS sits in front of it as a reverse proxy using the ASP.NET\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ASP.NET Core Behind IIS: ANCM Hosting Models and 500.30 \/ 502.5 \/ 500.19 Fixes\" \/>\n<meta property=\"og:description\" content=\"ASP.NET Core Behind IIS: ANCM Hosting Models and 500.30 \/ 502.5 \/ 500.19 Fixes\" \/>\n<meta property=\"og:url\" content=\"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/\" \/>\n<meta property=\"og:site_name\" content=\"Windows VPS Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-21T22:40:26+00:00\" \/>\n<meta name=\"author\" content=\"windows-vps\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@myxiechengxuan\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"windows-vps\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/\",\"url\":\"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/\",\"name\":\"ASP.NET Core Behind IIS: ANCM Hosting Models and 500.30 \/ 502.5 \/ 500.19 Fixes - Windows VPS Blog\",\"isPartOf\":{\"@id\":\"https:\/\/windows-vps.org\/blog\/#website\"},\"datePublished\":\"2026-10-21T22:40:26+00:00\",\"author\":{\"@id\":\"https:\/\/windows-vps.org\/blog\/#\/schema\/person\/44caceed916d0db318aa08d5623a7a58\"},\"description\":\"ASP.NET Core does not run inside IIS. It runs as a separate out-of-process dotnet worker, and IIS sits in front of it as a reverse proxy using the ASP.NET\",\"breadcrumb\":{\"@id\":\"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/windows-vps.org\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ASP.NET Core Behind IIS: ANCM Hosting Models and 500.30 \/ 502.5 \/ 500.19 Fixes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/windows-vps.org\/blog\/#website\",\"url\":\"https:\/\/windows-vps.org\/blog\/\",\"name\":\"Windows VPS Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/windows-vps.org\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/windows-vps.org\/blog\/#\/schema\/person\/44caceed916d0db318aa08d5623a7a58\",\"name\":\"windows-vps\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/windows-vps.org\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3f2573db5afcd1a6ab9abcc5d48fc8e42584bc87ab9d98cc156e5b2097766dd9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3f2573db5afcd1a6ab9abcc5d48fc8e42584bc87ab9d98cc156e5b2097766dd9?s=96&d=mm&r=g\",\"caption\":\"windows-vps\"},\"sameAs\":[\"https:\/\/windows-vps.org\/blog\",\"https:\/\/x.com\/myxiechengxuan\"],\"url\":\"https:\/\/windows-vps.org\/blog\/author\/myxiechengxuan\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"ASP.NET Core Behind IIS: ANCM Hosting Models and 500.30 \/ 502.5 \/ 500.19 Fixes - Windows VPS Blog","description":"ASP.NET Core does not run inside IIS. It runs as a separate out-of-process dotnet worker, and IIS sits in front of it as a reverse proxy using the ASP.NET","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/","og_locale":"en_US","og_type":"article","og_title":"ASP.NET Core Behind IIS: ANCM Hosting Models and 500.30 \/ 502.5 \/ 500.19 Fixes","og_description":"ASP.NET Core Behind IIS: ANCM Hosting Models and 500.30 \/ 502.5 \/ 500.19 Fixes","og_url":"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/","og_site_name":"Windows VPS Blog","article_published_time":"2026-10-21T22:40:26+00:00","author":"windows-vps","twitter_card":"summary_large_image","twitter_creator":"@myxiechengxuan","twitter_misc":{"Written by":"windows-vps","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/","url":"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/","name":"ASP.NET Core Behind IIS: ANCM Hosting Models and 500.30 \/ 502.5 \/ 500.19 Fixes - Windows VPS Blog","isPartOf":{"@id":"https:\/\/windows-vps.org\/blog\/#website"},"datePublished":"2026-10-21T22:40:26+00:00","author":{"@id":"https:\/\/windows-vps.org\/blog\/#\/schema\/person\/44caceed916d0db318aa08d5623a7a58"},"description":"ASP.NET Core does not run inside IIS. It runs as a separate out-of-process dotnet worker, and IIS sits in front of it as a reverse proxy using the ASP.NET","breadcrumb":{"@id":"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/windows-vps.org\/blog\/aspnet-core-iis-ancm-module-deployment-errors\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/windows-vps.org\/blog\/"},{"@type":"ListItem","position":2,"name":"ASP.NET Core Behind IIS: ANCM Hosting Models and 500.30 \/ 502.5 \/ 500.19 Fixes"}]},{"@type":"WebSite","@id":"https:\/\/windows-vps.org\/blog\/#website","url":"https:\/\/windows-vps.org\/blog\/","name":"Windows VPS Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/windows-vps.org\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/windows-vps.org\/blog\/#\/schema\/person\/44caceed916d0db318aa08d5623a7a58","name":"windows-vps","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/windows-vps.org\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3f2573db5afcd1a6ab9abcc5d48fc8e42584bc87ab9d98cc156e5b2097766dd9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3f2573db5afcd1a6ab9abcc5d48fc8e42584bc87ab9d98cc156e5b2097766dd9?s=96&d=mm&r=g","caption":"windows-vps"},"sameAs":["https:\/\/windows-vps.org\/blog","https:\/\/x.com\/myxiechengxuan"],"url":"https:\/\/windows-vps.org\/blog\/author\/myxiechengxuan\/"}]}},"_links":{"self":[{"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/posts\/909","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/comments?post=909"}],"version-history":[{"count":1,"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/posts\/909\/revisions"}],"predecessor-version":[{"id":910,"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/posts\/909\/revisions\/910"}],"wp:attachment":[{"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/media?parent=909"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/categories?post=909"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/tags?post=909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}