{"id":1924,"date":"2026-09-05T10:23:17","date_gmt":"2026-09-05T04:53:17","guid":{"rendered":"https:\/\/cpanelfree.com\/blog\/how-to-setup-authelia-two-factor-sso-reverse-proxy-vps\/"},"modified":"2026-09-12T12:44:36","modified_gmt":"2026-09-12T07:14:36","slug":"how-to-setup-authelia-two-factor-sso-reverse-proxy-vps","status":"publish","type":"post","link":"https:\/\/cpanelfree.com\/blog\/how-to-setup-authelia-two-factor-sso-reverse-proxy-vps\/","title":{"rendered":"How to Set Up Authelia Single Sign-On (SSO) and 2FA with Nginx on Ubuntu VPS"},"content":{"rendered":"<h2 id=\"section-1-why-self-hosted-web-portals-need-central\">Why Self-Hosted Web Portals Need Centralized Zero-Trust 2FA<\/h2>\n<p>As you self-host multiple internal web applications on your Linux VPS (such as Uptime Kuma, Glances, Portainer, MinIO Console, Traefik Dashboard, or phpMyAdmin), each platform features its own separate authentication mechanism\u2014or worse, lacks native Two-Factor Authentication (2FA) support. Managing fragmented passwords across dozens of admin dashboards creates immense security vulnerability.<\/p>\n<p><!-- EXECUTIVE SUMMARY &amp; KEY TAKEAWAYS --><\/p>\n<div class=\"cpf-exec-summary\">\n<div class=\"cpf-exec-header\">\n    <span class=\"cpf-exec-title\"><br \/>\n      \u26a1 Executive Summary &amp; Key Takeaways<br \/>\n    <\/span><br \/>\n    <span class=\"cpf-exec-badge\">Verified Guide<\/span>\n  <\/div>\n<ul class=\"cpf-exec-list\">\n<li><strong>Core Architecture:<\/strong> Production setup of Authelia Single Sign-On (SSO) and 2FA with Nginx on Ubuntu VPS engineered for maximum throughput and minimal memory footprint.<\/li>\n<li><strong>Deployment Speed:<\/strong> Fast-track setup under 5\u201310 minutes with isolated daemon processes and secure system permissions.<\/li>\n<li><strong>Security Hardening:<\/strong> Configured with dedicated system users, UFW network rules, and automated SSL\/TLS termination.<\/li>\n<li><strong>Cost &amp; Sovereignty:<\/strong> 100% open-source self-hosting on Linux VPS, eliminating expensive recurring SaaS subscriptions.<\/li>\n<\/ul>\n<\/div>\n<p><!-- ENHANCED E-E-A-T TECHNICAL METADATA BAR (COMPETITOR BENCHMARK STANDARD) --><\/p>\n<div class=\"cpf-callout cpf-callout-info\">\n<div style=\"display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 12px\">\n<div style=\"display: flex;flex-wrap: wrap;align-items: center;gap: 8px\">\n      <span class=\"cpf-eeat-pill os\">\ud83c\udfaf Difficulty: Intermediate<\/span><br \/>\n      <span class=\"cpf-eeat-pill os\">\u26a1 Est. Execution: 10\u201315 Mins<\/span><br \/>\n      <span style=\"color: #f59e0b;padding: 4px 10px;border-radius: 6px;font-weight: 600\">\u23f1\ufe0f 6 min read (1,058 words)<\/span>\n    <\/div>\n<p>    <span style=\"color: #38bdf8;font-weight: 600;font-size: 12.5px\">\ud83d\udd04 Verified September 2026 Edition<\/span>\n  <\/div>\n<div style=\"margin-top: 10px;padding-top: 10px;display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 10px;font-size: 12.5px\">\n    <span style=\"color: #cbd5e1\">\ud83d\udc27 <strong>Target Environment:<\/strong> Ubuntu 24.04 \/ 22.04 LTS \u2022 Debian 12 \u2022 AlmaLinux 9<\/span><br \/>\n    <span style=\"color: #94a3b8\">\ud83d\udee1\ufe0f <strong>Reviewed by:<\/strong> Senior Linux Systems Architect<\/span>\n  <\/div>\n<\/div>\n<p><!-- TABLE OF CONTENTS --><\/p>\n<div class=\"cpf-toc\">\n<div style=\"display: flex;align-items: center;justify-content: space-between;margin-bottom: 14px;padding-bottom: 10px\">\n<div class=\"cpf-toc-title\">\n      <span style=\"font-size: 18px\">\ud83d\udcd1<\/span> Table of Contents\n    <\/div>\n<p>    <span class=\"cpf-exec-title\">Guide Index<\/span>\n  <\/div>\n<div class=\"cpf-toc-links\">\n    <a href=\"#section-1-why-self-hosted-web-portals-need-central\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">1<\/span><span class=\"cpf-toc-text\">Why Self-Hosted Web Portals Need Centralized Zero-Trust 2FA<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#section-2-step-1-installing-docker-and-creating-pr\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">2<\/span><span class=\"cpf-toc-text\">Step 1: Installing Docker and Creating Project Directory<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#section-3-step-2-writing-production-authelia-confi\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">3<\/span><span class=\"cpf-toc-text\">Step 2: Writing Production Authelia Configuration<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#section-4-step-3-creating-users-database-with-pass\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">4<\/span><span class=\"cpf-toc-text\">Step 3: Creating Users Database with Password Hashes<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#section-5-step-4-launching-authelia-container-stac\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">5<\/span><span class=\"cpf-toc-text\">Step 4: Launching Authelia Container Stack<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#section-6-step-5-nginx-forward-auth-integration-am\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">6<\/span><span class=\"cpf-toc-text\">Step 5: Nginx Forward-Auth Integration &amp; Subdomain Protection<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a><a href=\"#section-7-integrating-duo-push-amp-webauthn-yubike\" class=\"cpf-toc-link\"><span class=\"cpf-toc-num\">7<\/span><span class=\"cpf-toc-text\">Integrating Duo Push &amp; WebAuthn YubiKey Hardware Keys<\/span><span class=\"cpf-toc-arrow\">&rsaquo;<\/span><\/a>\n  <\/div>\n<\/div>\n<p><strong>Authelia<\/strong> is an open-source, lightweight authentication and authorization server that integrates seamlessly with Nginx using the <code>auth_request<\/code> forward-authentication module. Authelia acts as a fortress gatekeeper in front of all your subdomains: unauthenticated visitors are automatically redirected to a sleek Single Sign-On (SSO) portal requiring a primary password and secondary 2FA (TOTP authenticator app, WebAuthn YubiKey, or Duo push) before Nginx permits traffic through.<\/p>\n<p>In this cybersecurity tutorial, we will configure Authelia on Ubuntu 24.04\/22.04 LTS using Docker Compose, secure private subdomains via Nginx <code>auth_request<\/code>, and configure TOTP Two-Factor Authentication.<\/p>\n<h2 id=\"section-2-step-1-installing-docker-and-creating-pr\">Step 1: Installing Docker and Creating Project Directory<\/h2>\n<pre><code># Install Docker and prerequisite utilities\nsudo apt update &amp;&amp; sudo apt install -y curl nginx certbot python3-certbot-nginx\ncurl -fsSL https:\/\/get.docker.com | sudo sh\nsudo systemctl enable --now docker\n\n# Create project directory\nsudo mkdir -p \/var\/www\/authelia\nsudo chown -R $USER:$USER \/var\/www\/authelia\ncd \/var\/www\/authelia<\/code><\/pre>\n<p><!-- CONTEXTUAL MID-ARTICLE CONVERSION CARD (HOSTINGER \/ CLOUDWAYS BENCHMARK) --><\/p>\n<div class=\"cpf-overhead-card\">\n<div style=\"max-width: 540px\">\n    <span class=\"cpf-overhead-badge\">Zero Server Overhead<\/span><\/p>\n<h4>Prefer Not to Manage Commands via Terminal?<\/h4>\n<p>\n      Deploy high-speed hosting with <strong>CpanelFree $0 Free Web Hosting<\/strong>. Enjoy authentic cPanel, unmetered NVMe SSD storage, PHP 8.3, and automatic SSL without server maintenance.\n    <\/p>\n<\/p>\n<\/div>\n<div>\n    <a href=\"https:\/\/cpanelfree.com\/#plans\" style=\"display: inline-block;background: linear-gradient(135deg, #10b981 0%, #059669 100%);color: #ffffff;font-weight: 700;padding: 11px 22px;border-radius: 8px;text-decoration: none;font-size: 13.5px;white-space: nowrap\">Get Free cPanel Account &rarr;<\/a>\n  <\/div>\n<\/div>\n<h2 id=\"section-3-step-2-writing-production-authelia-confi\">Step 2: Writing Production Authelia Configuration<\/h2>\n<p>Create configuration directory and file <code>\/var\/www\/authelia\/configuration.yml<\/code>:<\/p>\n<pre><code>server:\n  host: 0.0.0.0\n  port: 9091\n\nlog:\n  level: info\n\njwt_secret: \"YourUltraSecureJwtSecretKeyAtLeast32Chars!\"\ndefault_redirection_url: \"https:\/\/auth.example.com\"\n\ntotp:\n  issuer: \"CpanelFree Cloud\"\n\nauthentication_backend:\n  file:\n    path: \/config\/users_database.yml\n\naccess_control:\n  default_policy: deny\n  rules:\n    # Require Two-Factor Authentication for all internal dashboards\n    - domain: \"*.example.com\"\n      policy: two_factor\n\nsession:\n  name: authelia_session\n  domain: example.com\n  secret: \"AnotherUltraSecureSessionSecretKey32Chars!\"\n  expiration: 3600 # 1 hour\n\nstorage:\n  local:\n    path: \/config\/db.sqlite3\n\nnotifier:\n  filesystem:\n    filename: \/config\/notification.txt<\/code><\/pre>\n<h2 id=\"section-4-step-3-creating-users-database-with-pass\">Step 3: Creating Users Database with Password Hashes<\/h2>\n<p>Generate a secure Argon2id password hash using Docker:<\/p>\n<pre><code># Generate Argon2 password hash\ndocker run authelia\/authelia:latest authelia crypto hash generate argon2 --password \"StrongUserPassword2026!\"<\/code><\/pre>\n<p>Create <code>\/var\/www\/authelia\/users_database.yml<\/code>:<\/p>\n<pre><code>users:\n  admin:\n    displayname: \"Administrator\"\n    password: \"$argon2id$v=19$m=65536,t=3,p=4$...\"\n    email: \"admin@example.com\"\n    groups:\n      - admins<\/code><\/pre>\n<h2 id=\"section-5-step-4-launching-authelia-container-stac\">Step 4: Launching Authelia Container Stack<\/h2>\n<p>Create <code>\/var\/www\/authelia\/docker-compose.yml<\/code>:<\/p>\n<pre><code>services:\n  authelia:\n    image: authelia\/authelia:latest\n    container_name: authelia_sso\n    restart: always\n    ports:\n      - \"127.0.0.1:9091:9091\"\n    volumes:\n      - .\/:\/config\n    deploy:\n      resources:\n        limits:\n          memory: 256M<\/code><\/pre>\n<p>Launch the container: <code>docker compose up -d<\/code>.<\/p>\n<h2 id=\"section-6-step-5-nginx-forward-auth-integration-am\">Step 5: Nginx Forward-Auth Integration &amp; Subdomain Protection<\/h2>\n<p>Create the universal Authelia forward-auth snippet at <code>\/etc\/nginx\/snippets\/authelia.conf<\/code>:<\/p>\n<pre><code>location \/authelia {\n    internal;\n    proxy_pass http:\/\/127.0.0.1:9091\/api\/verify;\n    proxy_pass_request_body off;\n    proxy_set_header Content-Length \"\";\n    proxy_set_header X-Original-URL $scheme:\/\/$http_host$request_uri;\n    proxy_set_header X-Real-IP $remote_addr;\n    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    proxy_set_header X-Forwarded-Proto $scheme;\n}<\/code><\/pre>\n<p>Now, protect ANY internal subdomain (e.g. <code>status.example.com<\/code> or <code>monitor.example.com<\/code>) by adding two lines:<\/p>\n<pre><code>server {\n    listen 80;\n    server_name status.example.com;\n\n    # Include Authelia 2FA gatekeeper\n    include snippets\/authelia.conf;\n    auth_request \/authelia;\n\n    error_page 401 =302 https:\/\/auth.example.com\/?rd=$scheme:\/\/$http_host$request_uri;\n\n    location \/ {\n        proxy_pass http:\/\/127.0.0.1:3001;\n    }\n}<\/code><\/pre>\n<h2 id=\"section-7-integrating-duo-push-amp-webauthn-yubike\">Integrating Duo Push &amp; WebAuthn YubiKey Hardware Keys<\/h2>\n<p>Authelia natively supports FIDO2 WebAuthn cryptographic hardware security keys (YubiKey, Google Titan) and Duo mobile push notifications for enterprise Two-Factor Authentication. Users can register their biometric TouchID, Windows Hello, or YubiKey directly within the Authelia self-service security portal.<\/p>\n<h2 id=\"section-8-enforcing-granular-access-control-polici\">Enforcing Granular Access Control Policies by User Group<\/h2>\n<p>Define role-based access rules in <code>\/var\/www\/authelia\/configuration.yml<\/code> so that only members of the <code>admins<\/code> group can access critical monitoring and database dashboards, while standard users access general internal tools with single-factor authentication:<\/p>\n<pre><code>access_control:\n  default_policy: deny\n  rules:\n    # Restrict server monitoring dashboards to admins group only\n    - domain: \"monitor.example.com\"\n      subject: \"group:admins\"\n      policy: two_factor\n\n    # Allow general staff to access status portals with single-factor\n    - domain: \"status.example.com\"\n      subject: \"group:staff\"\n      policy: one_factor<\/code><\/pre>\n<h2 id=\"section-9-enforcing-openid-connect-oidc-identity-p\">Enforcing OpenID Connect (OIDC) Identity Provider (IdP)<\/h2>\n<p>Authelia can function as a full OpenID Connect (OIDC) Identity Provider, allowing third-party applications (such as Grafana, Nextcloud, Forgejo, or Portainer) to delegate authentication to Authelia using OAuth2 tokens:<\/p>\n<pre><code># Enable OpenID Connect in \/var\/www\/authelia\/configuration.yml\nidentity_providers:\n  oidc:\n    hmac_secret: \"YourUltraSecureOidcHmacSecretKey32Chars!\"\n    issuer_private_key: |\n      -----BEGIN RSA PRIVATE KEY-----\n      ...\n      -----END RSA PRIVATE KEY-----\n    clients:\n      - client_id: \"grafana\"\n        client_name: \"Grafana Monitoring Dashboard\"\n        client_secret: \"$argon2id$v=19$m=65536,t=3,p=4$...\"\n        public: false\n        authorization_policy: \"two_factor\"\n        redirect_uris:\n          - \"https:\/\/monitor.example.com\/login\/generic_oauth\"\n        scopes:\n          - \"openid\"\n          - \"profile\"\n          - \"email\"\n          - \"groups\"<\/code><\/pre>\n<h2 id=\"section-10-authelia-security-hardening-checklist\">Authelia Security Hardening Checklist<\/h2>\n<ul>\n<li><strong>Enforce Argon2id Hashing:<\/strong> Always use Argon2id with <code>m=65536, t=3, p=4<\/code> parameters for resistant password storage against GPU cracking.<\/li>\n<li><strong>Enable Session Cookie Protection:<\/strong> Ensure <code>same_site: \"lax\"<\/code> and <code>secure: true<\/code> are active.<\/li>\n<\/ul>\n<h2 id=\"section-11-protecting-multiple-subdomains-with-auth\">Protecting Multiple Subdomains with Authelia Regex Wildcards<\/h2>\n<p>Instead of manually writing separate server blocks for every internal tool, configure Nginx and Authelia with regex wildcard rules to secure all <code>*.internal.example.com<\/code> subdomains under a single unified Single Sign-On session:<\/p>\n<pre><code># Authelia Wildcard Domain Rule (\/var\/www\/authelia\/configuration.yml)\naccess_control:\n  default_policy: deny\n  rules:\n    - domain: \"*.internal.example.com\"\n      policy: two_factor<\/code><\/pre>\n<h2 id=\"section-12-authelia-session-management-amp-redis-cl\">Authelia Session Management &amp; Redis Cluster Storage<\/h2>\n<p>For high-availability multi-node VPS clusters, replace local SQLite session storage with in-memory Redis clustering in <code>configuration.yml<\/code> to allow seamless failover across multiple Authelia instances without forcing users to re-authenticate.<\/p>\n<div class=\"cpf-exec-summary\">\n<h3>Recommended Related Technical Guides<\/h3>\n<ul class=\"cpf-exec-list\">\n<li><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-secure-linux-vps-fail2ban-ufw-ssh\/\" class=\"cpf-overhead-link\">Hardening Linux Cloud VPS Infrastructure with UFW<\/a><\/li>\n<li class=\"cpf-related-item\"><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-setup-hashicorp-vault-secrets-management-vps\/\" class=\"cpf-related-link\">Setting Up HashiCorp Vault Secrets Management on Linux<\/a><\/li>\n<li class=\"cpf-related-item\"><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-host-uptime-kuma-server-monitoring-docker-vps\/\" class=\"cpf-related-link\">Securing Uptime Kuma Dashboards behind Authelia SSO<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"cpf-related-guides\">\n<h3>Fortress-Grade Identity Security on CpanelFree<\/h3>\n<p>Protect your infrastructure with zero-trust Single Sign-On, dedicated NVMe servers, and 100% free hosting and VPS options.<\/p>\n<p>  <a href=\"https:\/\/cpanelfree.com\/\" style=\"background-color: #ffffff;color: #0284c7;font-weight: 700;padding: 12px 28px;border-radius: 8px;text-decoration: none;display: inline-block\">Get Free Cloud Hosting Today &rarr;<\/a>\n<\/div>\n<div class=\"cpf-callout cpf-callout-info\">\n<h3>\n        <span style=\"margin-right: 8px\">\ud83d\udd17<\/span> Recommended Related Technical Guides:<br \/>\n    <\/h3>\n<ul class=\"cpf-related-list\">\n<li class=\"cpf-related-item\"><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-secure-linux-vps-hardening-guide\/\" class=\"cpf-related-link\">How to Secure Your Linux VPS: 7 Essential Hardening Steps (2026)<\/a><\/li>\n<li class=\"cpf-related-item\"><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-configure-ufw-firewall-ubuntu\/\" class=\"cpf-related-link\">How to Configure UFW Firewall on Ubuntu Server (Rules, Ports &amp; Best Practices)<\/a><\/li>\n<li class=\"cpf-related-item\"><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-install-configure-fail2ban-linux\/\" class=\"cpf-related-link\">How to Install and Configure Fail2ban on Linux (Stop SSH Brute-Force Attacks)<\/a><\/li>\n<li class=\"cpf-related-item\"><a href=\"https:\/\/cpanelfree.com\/blog\/how-to-deploy-surrealdb-multi-model-database-ubuntu-vps\/\" class=\"cpf-related-link\">How to Deploy SurrealDB Multi-Model Database on Ubuntu Linux VPS<\/a><\/li>\n<li class=\"cpf-related-item\"><a href=\"https:\/\/merahost.org\/vps\/\" target=\"_blank\" rel=\"noopener\" class=\"cpf-related-link\">Deploy High-Performance Cloud VPS on MeraHost (KVM NVMe, Price Lock)<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"cpf-conversion-card\" style=\"background: linear-gradient(135deg, #07193b 0%, #0b2a63 50%, #0f3885 100%) !important; border: 1px solid rgba(56, 189, 248, 0.35) !important; border-radius: 14px !important; padding: 28px 24px !important; margin: 36px 0 !important; text-align: center !important; box-shadow: 0 10px 30px rgba(7, 25, 59, 0.2) !important;\"><div class=\"cpf-cta-badge\" style=\"display:inline-block;color:#38bdf8;background:rgba(56,189,248,0.12);border:1px solid rgba(56,189,248,0.3);padding:4px 14px;border-radius:20px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:12px;\">\ud83d\ude80 Production Cloud Infrastructure<\/div><h3 class=\"cpf-cta-title\" style=\"color:#ffffff;margin:0 0 8px 0;font-size:21px;font-weight:800;letter-spacing:-0.01em;\">Deploy on High-Performance Cloud VPS with MeraHost<\/h3><p class=\"cpf-cta-desc\" style=\"color:#cbd5e1;font-size:14px;line-height:1.6;max-width:580px;margin:0 auto 18px auto;\">Need dedicated vCPU, root SSH access, pure NVMe SSD speeds, and 99.95% uptime SLA for your production stack? Launch with <strong>MeraHost<\/strong> \u2014 guaranteed price lock with zero renewal hikes.<\/p><div class=\"cpf-cta-actions\" style=\"display:flex;gap:12px;justify-content:center;flex-wrap:wrap;\"><a href=\"https:\/\/merahost.org\/vps\/\" target=\"_blank\" rel=\"noopener\" class=\"cpf-cta-btn\" style=\"display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%) !important;background-color:#0284c7 !important;color:#ffffff !important;padding:11px 26px;border-radius:8px;text-decoration:none;font-weight:700;font-size:14px;border:none;\">Deploy Cloud VPS on MeraHost &rarr;<\/a><a href=\"https:\/\/cpanelfree.com\/order\/free\" class=\"cpf-cta-btn\" style=\"display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.08) !important;border:1px solid rgba(255,255,255,0.2) !important;color:#ffffff !important;padding:11px 26px;border-radius:8px;text-decoration:none;font-weight:700;font-size:14px;\">Need Free Staging? Claim Free cPanel<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Why Self-Hosted Web Portals Need Centralized Zero-Trust 2FA As you self-host multiple internal web applications on your Linux VPS (such as Uptime Kuma, Glances, Portainer, MinIO Console, Traefik Dashboard, or phpMyAdmin), each platform features its own separate authentication mechanism\u2014or worse, lacks native Two-Factor Authentication (2FA) support. Managing fragmented passwords across dozens of admin dashboards creates &#8230; <a title=\"How to Set Up Authelia Single Sign-On (SSO) and 2FA with Nginx on Ubuntu VPS\" class=\"read-more\" href=\"https:\/\/cpanelfree.com\/blog\/how-to-setup-authelia-two-factor-sso-reverse-proxy-vps\/\" aria-label=\"Read more about How to Set Up Authelia Single Sign-On (SSO) and 2FA with Nginx on Ubuntu VPS\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":2519,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[64],"tags":[],"class_list":["post-1924","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security"],"_links":{"self":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts\/1924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/comments?post=1924"}],"version-history":[{"count":12,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts\/1924\/revisions"}],"predecessor-version":[{"id":4153,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/posts\/1924\/revisions\/4153"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/media\/2519"}],"wp:attachment":[{"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/media?parent=1924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/categories?post=1924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cpanelfree.com\/blog\/wp-json\/wp\/v2\/tags?post=1924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}