{"id":944,"date":"2026-10-26T22:42:08","date_gmt":"2026-10-26T22:42:08","guid":{"rendered":"https:\/\/windows-vps.org\/blog\/?p=944"},"modified":"2026-10-26T22:42:08","modified_gmt":"2026-10-26T22:42:08","slug":"windows-server-rpc-endpoint-mapper-dynamic-port-hardening","status":"publish","type":"post","link":"https:\/\/windows-vps.org\/blog\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/","title":{"rendered":"RPC Endpoint Mapper and Dynamic Port Ranges: Locking Down Windows Server Firewalls Without Breaking It"},"content":{"rendered":"<div style=\"padding:20px\">\n<p>Opening TCP 135 on a Windows Server firewall does not enable RPC. Port 135 is only the endpoint mapper: the client asks it which port a given interface is listening on, and the answer is a dynamically allocated port somewhere in the 49152\u201365535 range. Block that range and every RPC call fails with a timeout that looks exactly like a dead server. This page covers how the mapper hands out ports, the registry keys that pin the range, how to scope firewall rules so they follow the service rather than the port, and what breaks when the range is narrowed too far. The same RPC plumbing applies on any hosted guest, including the <a href=\"https:\/\/windows-vps.org\/\">Windows Server VPS images at windows-vps.org<\/a>.<\/p>\n<h2>Why Port 135 Alone Never Works<\/h2>\n<p>An RPC client performs a three-step dance. It connects to the endpoint mapper on TCP 135, sends the interface UUID and version it wants, and receives back a port number. It then opens a second connection to that port, which was chosen at boot from the dynamic range. A firewall that permits 135 and denies 49152\u201365535 allows the first step and blocks the second, so the error surfaces as <code>RPC server is unavailable<\/code> after a 30\u201360 second timeout rather than a clean refusal.<\/p>\n<pre><code># See what the mapper hands out right now\nGet-NetTCPConnection -State Listen | Where-Object {$_.LocalPort -ge 49152} |\n  Sort-Object LocalPort | Select LocalAddress,LocalPort,OwningProcess |\n  ForEach-Object { $_ | Add-Member -PassThru NoteProperty Proc (Get-Process -Id $_.OwningProcess).Name }<\/code><\/pre>\n<p>Well-known RPC services get their own reserved ports. Everything else \u2014 DCOM servers, third-party backup agents, custom service hosts \u2014 lands in the dynamic range and moves after a reboot unless it is pinned.<\/p>\n<table>\n<thead>\n<tr>\n<th>Service<\/th>\n<th>Port<\/th>\n<th>Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Endpoint mapper<\/td>\n<td>135 TCP<\/td>\n<td>Always required, both directions for cross-server RPC<\/td>\n<\/tr>\n<tr>\n<td>WMI \/ DCOM (Winmgmt)<\/td>\n<td>135 + dynamic<\/td>\n<td>WMI over DCOM cannot be pinned; use WinRM instead<\/td>\n<\/tr>\n<tr>\n<td>Netlogon<\/td>\n<td>445, 135, 49152+<\/td>\n<td>Domain join and secure channel need the dynamic range<\/td>\n<\/tr>\n<tr>\n<td>DFS Replication<\/td>\n<td>5722, 135<\/td>\n<td>Plus dynamic RPC for the management interface<\/td>\n<\/tr>\n<tr>\n<td>Hyper-V management<\/td>\n<td>2179, 135, dynamic<\/td>\n<td>VMMS uses dynamic ports for the VMI<\/td>\n<\/tr>\n<tr>\n<td>Backup agents (most)<\/td>\n<td>135 + vendor port<\/td>\n<td>Check vendor docs; many also need 445<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Pinning the Dynamic Range<\/h2>\n<p>Windows Server 2008 and later default the ephemeral range to 49152\u201365535. Narrowing it to a block you can firewall is done with two registry values under <code>HKLM\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters<\/code>. The format is a 32-bit value where the high 16 bits are the start port and the low 16 bits are the count.<\/p>\n<pre><code>$start = 5000; $count = 1000\n$val = ($start -shl 16) -bor $count\nSet-ItemProperty 'HKLM:\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters' -Name TcpipDynamicPortRange -Value $val -Type DWord\n# netsh equivalent, same effect, reboot required\nnetsh int ipv4 set dynamicport tcp start=5000 num=1000\nnetsh int ipv4 set dynamicport udp start=5000 num=1000\nnetsh int ipv4 show dynamicport tcp<\/code><\/pre>\n<p>A range of 1000 ports is comfortable for a single-role server. Do not go below 500: port exhaustion under load produces <code>WSAEADDRINUSE<\/code> failures in event log and TCP connect errors that have nothing to do with the firewall.<\/p>\n<p>Reserving a specific port for a specific RPC interface is a separate mechanism. Each interface registers under its own key and the <code>Ports<\/code> subkey, with a <code>Ports<\/code> REG_MULTI_SZ naming the interfaces:<\/p>\n<pre><code>$k = 'HKLM:\\SOFTWARE\\Microsoft\\Rpc\\Internet'\nNew-Item $k -Force | Out-Null\nNew-ItemProperty $k -Name Ports -PropertyType MultiString -Value @('5000-5999') -Force\nNew-ItemProperty $k -Name PortsInternetAvailable -Value 'Y' -PropertyType String -Force\nNew-ItemProperty $k -Name UseInternetPorts -Value 'Y' -PropertyType String -Force<\/code><\/pre>\n<p>This key is the one most documentation refers to, and it must agree with the Tcpip value \u2014 a mismatch causes the service to fall back to a random port outside both ranges.<\/p>\n<h2>Scoping Firewall Rules to the Service, Not the Range<\/h2>\n<p>The cleaner approach on modern Windows is to let the firewall follow the process. A rule with <code>-Program<\/code> and a dynamic local port matches only traffic owned by that executable, which means the dynamic range can stay open on the local side without exposing every RPC server on the box.<\/p>\n<pre><code>New-NetFirewallRule -DisplayName 'RPC - Backup Agent' -Direction Inbound -Action Allow `\n  -Protocol TCP -LocalPort 135,49152-65535 -RemoteAddress 10.20.0.0\/24 `\n  -Program 'C:\\Program Files\\Vendor\\agent.exe' -Profile Domain,Private\n\nNew-NetFirewallRule -DisplayName 'RPC - Admin subnet' -Direction Inbound -Action Allow `\n  -Protocol TCP -LocalPort 135 -RemoteAddress 10.20.0.0\/24 -Profile Domain,Private<\/code><\/pre>\n<p>Restrict by <code>-RemoteAddress<\/code> before you restrict by port. The majority of RPC exposure on a VPS is not a port range problem, it is that 135 and 445 are reachable from the public internet. Scoping to the management subnet removes the risk without touching the range at all.<\/p>\n<ul>\n<li>Use <code>-Profile Domain,Private<\/code> so the rules do not apply to a Public-classified NIC.<\/li>\n<li>Prefer <code>-InterfaceAlias<\/code> over IP ranges when the box has one NIC and one management path.<\/li>\n<li>Set <code>-EdgeTraversalPolicy Block<\/code> so no rule is silently opened by NAT traversal.<\/li>\n<li>Group rules with <code>-Group<\/code> so <code>Get-NetFirewallRule -Group<\/code> can audit them as a unit.<\/li>\n<\/ul>\n<h2>What Breaks When the Range Is Over-Restricted<\/h2>\n<p>Each of these failures presents differently, and none of them names RPC in the error message.<\/p>\n<table>\n<thead>\n<tr>\n<th>Symptom<\/th>\n<th>What is actually failing<\/th>\n<th>Event evidence<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Domain join fails with &#8220;RPC server unavailable&#8221;<\/td>\n<td>Netlogon secure channel needs dynamic RPC to the DC<\/td>\n<td>Netlogon 5719, 5783<\/td>\n<\/tr>\n<tr>\n<td>WMI queries time out but WinRM works<\/td>\n<td>DCOM cannot reach the dynamic port<\/td>\n<td>DistributedCOM 10009<\/td>\n<\/tr>\n<tr>\n<td>Backup job fails at &#8220;snapshot creation&#8221;<\/td>\n<td>VSS writer RPC call blocked<\/td>\n<td>VSS 8194, Application log<\/td>\n<\/tr>\n<tr>\n<td>GPO not applying<\/td>\n<td>Group Policy client RPC to SYSVOL<\/td>\n<td>GroupPolicy 1058, 1129<\/td>\n<\/tr>\n<tr>\n<td>Server Manager cannot add a role remotely<\/td>\n<td>WinRM fine, but the role install uses DCOM<\/td>\n<td>ServerManager 0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The domain join case is the one that locks people out of a fresh VPS rebuild: the machine can reach the DC on 389 and 445 and still fail to join because the Netlogon RPC call to the DC&#8217;s dynamic port was dropped. If you must narrow the range, keep a 2000-port block open between member servers and domain controllers and log the drops during the first reboot cycle.<\/p>\n<h2>Verifying What Is Actually Listening<\/h2>\n<p>Run the verification below before and after the change window and diff the two outputs. A port that appears in the listener list but has no matching allow rule is a service that will fail silently the next time it restarts.<\/p>\n<p>Do not trust the rule list alone. Match listening sockets to processes, then match processes to rules. A listener on a port outside your allowed range is the thing to find.<\/p>\n<pre><code># Listening RPC endpoints with owning process and command line\nGet-NetTCPConnection -State Listen | Where-Object {$_.LocalPort -in 135 -or $_.LocalPort -ge 49152} |\n  ForEach-Object {\n    $p = Get-CimInstance Win32_Process -Filter \"ProcessId=$($_.OwningProcess)\"\n    [pscustomobject]@{Port=$_.LocalPort; Proc=$p.Name; Path=$p.ExecutablePath}\n  } | Sort-Object Port | Format-Table -AutoSize\n\n# Which inbound rules reference each port\nGet-NetFirewallPortFilter | Where-Object {$_.LocalPort -match '49152'} |\n  ForEach-Object { $_ | Get-NetFirewallRule } | Select DisplayName,Enabled,Direction,Action\n\n# Effective profile on each interface\nGet-NetConnectionProfile | Select InterfaceAlias,NetworkCategory,IPv4Connectivity<\/code><\/pre>\n<p>Then watch the drops during a change window instead of guessing from user reports:<\/p>\n<pre><code># Enable the firewall drop log, then tail it\nnetsh advfirewall set allprofiles logging droppedconnections enable\nnetsh advfirewall set allprofiles logging maxfilesize 8192\nGet-Content \"$env:SystemRoot\\System32\\LogFiles\\Firewall\\pfirewall.log\" -Tail 40<\/code><\/pre>\n<p>Pair that with the Security log filter for 5152 (packet blocked) and 5157, and with the DistributedCOM 10009 entries that carry the CLSID and remote address. A 15-minute capture during a backup run or a GPO refresh tells you exactly which port a service needed, which is far faster than reading vendor documentation.<\/p>\n<h2>A Rollout Order That Does Not Lock You Out<\/h2>\n<p>Two additional checks belong in any change window: confirm the DNS and WMI providers still answer from the management subnet, and keep a copy of the previous rule set so a bad call can be undone in one command.<\/p>\n<h2>Ordering the Change Window<\/h2>\n<p>Change the range and the rules in this order, and keep an out-of-band console open for the whole window.<\/p>\n<ol>\n<li>Enable drop logging first, with the existing permissive rules. Collect a baseline for 24 hours.<\/li>\n<li>Add the new scoped rules alongside the old ones; both are active, nothing breaks.<\/li>\n<li>Reboot to confirm the pinned range is in effect: <code>netsh int ipv4 show dynamicport tcp<\/code>.<\/li>\n<li>Remove the permissive rules one group at a time, watching the drop log for 10 minutes after each.<\/li>\n<li>Reboot again and re-run the service checks \u2014 some RPC endpoints bind at boot before the range is read, and a second boot is where range misconfiguration shows up.<\/li>\n<\/ol>\n<p>If the guest becomes unreachable during the window, the provider console is the rollback: re-enable the permissive rule set with <code>netsh advfirewall set allprofiles state off<\/code> only as a last resort, then fix and re-enable. Keeping the baseline drop log means you will know which rule to add rather than guessing. Current Windows Server builds and their default network posture are described on the <a href=\"https:\/\/windows-vps.org\/\">Windows VPS product page<\/a>.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Opening TCP 135 on a Windows Server firewall does not enable RPC. Port 135 is only the endpoint mapper: the client asks it which port a given interface is listening on, and the answer is a dynamically allocated port somewhere in the 49152\u201365535 range. Block that range and every RPC call fails with a timeout &#8230; <a title=\"RPC Endpoint Mapper and Dynamic Port Ranges: Locking Down Windows Server Firewalls Without Breaking It\" class=\"read-more\" href=\"https:\/\/windows-vps.org\/blog\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/\" aria-label=\"Read more about RPC Endpoint Mapper and Dynamic Port Ranges: Locking Down Windows Server Firewalls Without Breaking It\">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":2,"footnotes":""},"categories":[6],"tags":[],"class_list":["post-944","post","type-post","status-publish","format-standard","hentry","category-comparisons"],"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>RPC Endpoint Mapper and Dynamic Port Ranges: Locking Down Windows Server Firewalls Without Breaking It - Windows VPS Blog<\/title>\n<meta name=\"description\" content=\"Opening TCP 135 on a Windows Server firewall does not enable RPC. Port 135 is only the endpoint mapper: the client asks it which port a given interface is\" \/>\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\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RPC Endpoint Mapper and Dynamic Port Ranges: Locking Down Windows Server Firewalls Without Breaking It\" \/>\n<meta property=\"og:description\" content=\"RPC Endpoint Mapper and Dynamic Port Ranges: Locking Down Windows Server Firewalls Without Breaking It\" \/>\n<meta property=\"og:url\" content=\"https:\/\/windows-vps.org\/blog\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/\" \/>\n<meta property=\"og:site_name\" content=\"Windows VPS Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-26T22:42:08+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\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/\",\"url\":\"https:\/\/windows-vps.org\/blog\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/\",\"name\":\"RPC Endpoint Mapper and Dynamic Port Ranges: Locking Down Windows Server Firewalls Without Breaking It - Windows VPS Blog\",\"isPartOf\":{\"@id\":\"https:\/\/windows-vps.org\/blog\/#website\"},\"datePublished\":\"2026-10-26T22:42:08+00:00\",\"author\":{\"@id\":\"https:\/\/windows-vps.org\/blog\/#\/schema\/person\/44caceed916d0db318aa08d5623a7a58\"},\"description\":\"Opening TCP 135 on a Windows Server firewall does not enable RPC. Port 135 is only the endpoint mapper: the client asks it which port a given interface is\",\"breadcrumb\":{\"@id\":\"https:\/\/windows-vps.org\/blog\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/windows-vps.org\/blog\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/windows-vps.org\/blog\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/windows-vps.org\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RPC Endpoint Mapper and Dynamic Port Ranges: Locking Down Windows Server Firewalls Without Breaking It\"}]},{\"@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":"RPC Endpoint Mapper and Dynamic Port Ranges: Locking Down Windows Server Firewalls Without Breaking It - Windows VPS Blog","description":"Opening TCP 135 on a Windows Server firewall does not enable RPC. Port 135 is only the endpoint mapper: the client asks it which port a given interface is","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\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/","og_locale":"en_US","og_type":"article","og_title":"RPC Endpoint Mapper and Dynamic Port Ranges: Locking Down Windows Server Firewalls Without Breaking It","og_description":"RPC Endpoint Mapper and Dynamic Port Ranges: Locking Down Windows Server Firewalls Without Breaking It","og_url":"https:\/\/windows-vps.org\/blog\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/","og_site_name":"Windows VPS Blog","article_published_time":"2026-10-26T22:42:08+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\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/","url":"https:\/\/windows-vps.org\/blog\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/","name":"RPC Endpoint Mapper and Dynamic Port Ranges: Locking Down Windows Server Firewalls Without Breaking It - Windows VPS Blog","isPartOf":{"@id":"https:\/\/windows-vps.org\/blog\/#website"},"datePublished":"2026-10-26T22:42:08+00:00","author":{"@id":"https:\/\/windows-vps.org\/blog\/#\/schema\/person\/44caceed916d0db318aa08d5623a7a58"},"description":"Opening TCP 135 on a Windows Server firewall does not enable RPC. Port 135 is only the endpoint mapper: the client asks it which port a given interface is","breadcrumb":{"@id":"https:\/\/windows-vps.org\/blog\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/windows-vps.org\/blog\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/windows-vps.org\/blog\/windows-server-rpc-endpoint-mapper-dynamic-port-hardening\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/windows-vps.org\/blog\/"},{"@type":"ListItem","position":2,"name":"RPC Endpoint Mapper and Dynamic Port Ranges: Locking Down Windows Server Firewalls Without Breaking It"}]},{"@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\/944","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=944"}],"version-history":[{"count":1,"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/posts\/944\/revisions"}],"predecessor-version":[{"id":947,"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/posts\/944\/revisions\/947"}],"wp:attachment":[{"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/media?parent=944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/categories?post=944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/windows-vps.org\/blog\/wp-json\/wp\/v2\/tags?post=944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}