{"id":995,"date":"2021-12-16T17:23:33","date_gmt":"2021-12-16T15:23:33","guid":{"rendered":"https:\/\/plumrocket.com\/learn\/?p=995"},"modified":"2025-04-03T14:45:48","modified_gmt":"2025-04-03T11:45:48","slug":"how-to-configure-varnish-cache-with-apache-reverse-proxy-and-ssl-termination","status":"publish","type":"post","link":"https:\/\/plumrocket.com\/learn\/ssl-varnish-apache","title":{"rendered":"How To Configure Varnish Cache with Apache Reverse Proxy and SSL Termination"},"content":{"rendered":"\n<p>In this guide, we will show you how to install and configure the Varnish cache for the Apache webserver with SSL termination. One limitation of Varnish Cache is that it is designed to accelerate HTTP, not the secure HTTPS protocol. Therefore, some workarounds must be performed to allow Varnish to work on SSL enabled website. <\/p>\n\n\n\n<p>SSL\/TLS Termination is the process of decrypting SSL-encrypted traffic. In our case, Apache acts like a proxy server and intermediary point between the client and Varnish and is used to convert HTTPS to HTTP. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" width=\"759\" height=\"281\" src=\"https:\/\/plumrocket.com\/learn\/wp-content\/uploads\/2021\/11\/apache_varnish_1.png\" alt=\"Apache + Varnish + Apache Setup\" class=\"wp-image-1052\" srcset=\"https:\/\/plumrocket.com\/learn\/wp-content\/uploads\/2021\/11\/apache_varnish_1.png 759w, https:\/\/plumrocket.com\/learn\/wp-content\/uploads\/2021\/11\/apache_varnish_1-300x111.png 300w\" sizes=\"(max-width: 759px) 100vw, 759px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-cover has-background-dim\" style=\"background-color:#eaf7ea;min-height:100px\"><div class=\"wp-block-cover__inner-container\">\n<p class=\"has-text-align-center has-dark-gray-color has-text-color\">Getting Varnish installed is just the beginning. Unlock significant performance gains for your store with our dedicated <a href=\"\/magento-performance-optimization\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"has-inline-color has-primary-color\">Magento Speed Optimization service<\/span><\/a>, including expert VCL tuning. <\/p>\n<\/div><\/div>\n\n\n\n<h2>Step 1. Install and Configure Apache (Backend) on CentOS\/RHEL 8<\/h2>\n\n\n\n<p>We had CentOS 8 installed on our web server, which uses <code>dnf<\/code> package manager. However, if you are familiar with Linux systems, you can apply this manual almost entirely to other OS, such as Centos 7 (use <code>yum<\/code>) or Ubuntu and Debian (use <code>apt<\/code> instead).<\/p>\n\n\n\n<h3>1. Install Apache, start it automatically at boot, and launch<\/h3>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo dnf install httpd\nsudo systemctl enable httpd\nsudo systemctl start httpd\nsudo systemctl status httpd<\/code><\/pre><\/div>\n\n\n\n<h3>2. Create a directory for your website and grant permissions<\/h3>\n\n\n\n<p>Make sure to replace the \u201cexample.com\u201d with your domain name:<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo mkdir -p \/var\/www\/example.com\/public_html\nsudo mkdir -p \/var\/www\/example.com\/log\nsudo mkdir -p \/var\/www\/example.com\/ssl<\/code><\/pre><\/div>\n\n\n\n<p>Use <code>aux | grep httpd<\/code> or <code>ps aux | grep apache<\/code> to see what user Apache is using on your system.<\/p>\n\n\n\n<p>In our case, the Apache user is \u201capache\u201d (you may see \u201cwww-data\u201d or other username displayed), therefore we will run the following commands to grant necessary permissions:<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo chown -R apache:apache \/var\/www\/\nsudo chmod -R 750 \/var\/www<\/code><\/pre><\/div>\n\n\n\n<h3>3. Create a dummy index file in your domain\u2019s document root directory<\/h3>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">echo 'Hello, World!' > \/var\/www\/example.com\/public_html\/index.html<\/code><\/pre><\/div>\n\n\n\n<h3>4. Create a new virtual host file and restart Apache<\/h3>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo mkdir \/etc\/httpd\/sites-available\nsudo mkdir \/etc\/httpd\/sites-enabled<\/code><\/pre><\/div>\n\n\n\n<p>Tell Apache to look for virtual hosts in the <strong>sites-enabled<\/strong> directory:<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo vi \/etc\/httpd\/conf\/httpd.conf<\/code><\/pre><\/div>\n\n\n\n<p>Add this line at the end of <strong>httpd.conf<\/strong> file:&nbsp;<\/p>\n\n\n\n<p><code>IncludeOptional sites-enabled\/*.conf<\/code><\/p>\n\n\n\n<p>Create the new virtual host file:&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo vi \/etc\/httpd\/sites-available\/example.com.conf<\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">&lt;VirtualHost *:80>\n    ServerName example.com\n    ServerAlias www.example.com\n    DocumentRoot \/var\/www\/example.com\/public_html\n    ErrorLog \/var\/www\/example.com\/error.log\n    CustomLog \/var\/www\/example.com\/requests.log combined\n&lt;\/VirtualHost><\/code><\/pre><\/div>\n\n\n\n<p>Enable the new virtual host files<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo ln -s \/etc\/httpd\/sites-available\/example.com.conf \/etc\/httpd\/sites-enabled\/example.com.conf<\/code><\/pre><\/div>\n\n\n\n<p>Restart Apache<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo systemctl restart httpd<\/code><\/pre><\/div>\n\n\n\n<p>Open access to the HTTP service in the firewall<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">systemctl restart firewalld\nsystemctl enable firewalld.service\nfirewall-cmd --state\nfirewall-cmd --zone=public --permanent --add-service=http\nfirewall-cmd --reload<\/code><\/pre><\/div>\n\n\n\n<p>Open your domain in the web browser to see the \u201cHello, World!\u201d message, e.g.:<\/p>\n\n\n\n<p><a href=\"http:\/\/example.com\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">http:\/\/example.com<\/a> or <a href=\"http:\/\/example.com:80\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">http:\/\/example.com:80<\/a><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" width=\"620\" height=\"144\" src=\"https:\/\/plumrocket.com\/learn\/wp-content\/uploads\/2021\/11\/apache_varnish_2-2.png\" alt=\"Apache instllation and configuration process (backend)\" class=\"wp-image-1060\" srcset=\"https:\/\/plumrocket.com\/learn\/wp-content\/uploads\/2021\/11\/apache_varnish_2-2.png 620w, https:\/\/plumrocket.com\/learn\/wp-content\/uploads\/2021\/11\/apache_varnish_2-2-300x70.png 300w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><figcaption>Step 1. Diagram<\/figcaption><\/figure><\/div>\n\n\n\n<h2>Step 2. Install and Configure Varnish Cache<\/h2>\n\n\n\n<h3>1. Install Varnish Cache<\/h3>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">dnf module install varnish<\/code><\/pre><\/div>\n\n\n\n<p>Change the default Varnish Listen port from 6081 to 80.<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo vi \/etc\/systemd\/system\/varnish.service<\/code><\/pre><\/div>\n\n\n\n<p>Find the following line:&nbsp;<\/p>\n\n\n\n<p><code>ExecStart=\/usr\/sbin\/varnishd -a :&lt;strong&gt;&lt;em&gt;6081&lt;\/em&gt;&lt;\/strong&gt; -f \/etc\/varnish\/default.vcl -s malloc,256m<\/code><\/p>\n\n\n\n<p>And replace it with this one:<\/p>\n\n\n\n<p><code>ExecStart=\/usr\/sbin\/varnishd -a :&lt;strong&gt;&lt;em&gt;80 &lt;\/em&gt;&lt;\/strong&gt;-f \/etc\/varnish\/default.vcl -s malloc,256m<\/code><\/p>\n\n\n\n<p>Save changes.<\/p>\n\n\n\n<p>Check the default Varnish backend IP and port.<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo vi \/etc\/varnish\/default.vcl<\/code><\/pre><\/div>\n\n\n\n<p>It should look like this:<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">backend default {\n    .host = \"127.0.0.1\";\n    .port = \"8080\";\n}<\/code><\/pre><\/div>\n\n\n\n<h3>2. Change the default apache HTTP port 80 to 8080 (or any other port of your choice)<\/h3>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo vi \/etc\/httpd\/conf\/httpd.conf<\/code><\/pre><\/div>\n\n\n\n<p>Find the following line:&nbsp;<\/p>\n\n\n\n<p><code>Listen &lt;strong&gt;&lt;em&gt;80&lt;\/em&gt;&lt;\/strong&gt;<\/code><\/p>\n\n\n\n<p>And replace it with this one:<\/p>\n\n\n\n<p><code>Listen &lt;strong&gt;8080&lt;\/strong&gt;<\/code><\/p>\n\n\n\n<p>Save changes.<\/p>\n\n\n\n<p>Open your virtual host file:&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo vi \/etc\/httpd\/sites-available\/example.com.conf<\/code><\/pre><\/div>\n\n\n\n<p>Find the following line:&nbsp;<\/p>\n\n\n\n<p><code>&lt;VirtualHost &lt;strong&gt;&lt;em&gt;*:80&lt;\/em&gt;&lt;\/strong&gt;&gt;<\/code><br><code>    ServerName example.com<\/code><\/p>\n\n\n\n<p>And replace it with this one:<\/p>\n\n\n\n<p><code>&lt;VirtualHost &lt;strong&gt;&lt;em&gt;127.0.0.1:8080&lt;\/em&gt;&lt;\/strong&gt;&gt;<\/code><br><code>    ServerName example.com<\/code><\/p>\n\n\n\n<p>Save changes.<\/p>\n\n\n\n<p>Launch Varnish, start it automatically at boot and check service status<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">varnishd -V\nsudo systemctl start varnish\nsudo systemctl enable varnish\nsudo systemctl status varnish<\/code><\/pre><\/div>\n\n\n\n<p>Restart Apache<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo systemctl restart httpd<\/code><\/pre><\/div>\n\n\n\n<p>Open your website in browser to see the \u201cHello, World!\u201d message, e.g.:&nbsp;<\/p>\n\n\n\n<p><a href=\"http:\/\/example.com\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">http:\/\/example.com<\/a><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" width=\"759\" height=\"140\" src=\"https:\/\/plumrocket.com\/learn\/wp-content\/uploads\/2021\/11\/apache_varnish_3.png\" alt=\"Varnish cache installation and configuration process\" class=\"wp-image-1054\" srcset=\"https:\/\/plumrocket.com\/learn\/wp-content\/uploads\/2021\/11\/apache_varnish_3.png 759w, https:\/\/plumrocket.com\/learn\/wp-content\/uploads\/2021\/11\/apache_varnish_3-300x55.png 300w\" sizes=\"(max-width: 759px) 100vw, 759px\" \/><figcaption>Step 2. Diagram<\/figcaption><\/figure><\/div>\n\n\n\n<h2>Step 3. Configure Apache HTTP Server As Reverse-Proxy<\/h2>\n\n\n\n<h3>1. Create SSL certificate for Apache<\/h3>\n\n\n\n<p>For the purpose of this tutorial, we will create self-signed SSL certificates. Nevertheless, you can also install free let\u2019s encrypt certificates using this <a href=\"https:\/\/certbot.eff.org\/lets-encrypt\/centosrhel8-apache\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">online manual<\/a>.&nbsp;<\/p>\n\n\n\n<p>First, you have to be sure that the <strong>mod_ssl <\/strong>Apache module is installed on the server.<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">dnf install epel-release\nsudo dnf install openssl mod_ssl\nsudo systemctl restart httpd<\/code><\/pre><\/div>\n\n\n\n<p>Check if mod SSL is enabled:<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">apachectl -M | grep ssl<\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout \/var\/www\/example.com\/ssl\/apache-selfsigned.key -out \/var\/www\/example.com\/ssl\/apache-selfsigned.crt<\/code><\/pre><\/div>\n\n\n\n<h3>2. Setting up new Apache virtual host for SSL communication<\/h3>\n\n\n\n<p>Open your virtual host file:&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo vi \/etc\/httpd\/sites-available\/example.com.conf<\/code><\/pre><\/div>\n\n\n\n<p>Add a new proxy virtual host that will listen to 443 port and redirect all traffic to Varnish (port 80), e.g. perform SSL termination. <\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">&lt;VirtualHost 127.0.0.1:8080>\n    ServerName example.com\n    ServerAlias www.example.com\n    DocumentRoot \/var\/www\/example.com\/public_html\n    ErrorLog \/var\/www\/example.com\/error.log\n    CustomLog \/var\/www\/example.com\/requests.log combined\n&lt;\/VirtualHost>\n  \n \n&lt;VirtualHost *:443>\n    ServerName varnishtest2.plumrocket.net\n    RequestHeader set X-Forwarded-Proto \"https\"\n \n    ErrorLog \/var\/log\/httpd\/external-https_error.log\n    CustomLog \/var\/log\/httpd\/external-https_access.log combined\n \n    SSLEngine On\n    SSLCertificateFile \/etc\/ssl\/certs\/apache-selfsigned.crt\n    SSLCertificateKeyFile \/etc\/ssl\/certs\/apache-selfsigned.key\n \n    ProxyPreserveHost On\n    ProxyPass \/ http:\/\/127.0.0.1:80\/\n    ProxyPassReverse \/ http:\/\/127.0.0.1:80\/\n&lt;\/VirtualHost><\/code><\/pre><\/div>\n\n\n\n<p>Save changes and restart Apache<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">sudo systemctl restart httpd<\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" width=\"760\" height=\"164\" src=\"https:\/\/plumrocket.com\/learn\/wp-content\/uploads\/2021\/11\/apache_varnish_4.png\" alt=\"Configuration of Apache HTTP Server As Reverse-Proxy\" class=\"wp-image-1055\" srcset=\"https:\/\/plumrocket.com\/learn\/wp-content\/uploads\/2021\/11\/apache_varnish_4.png 760w, https:\/\/plumrocket.com\/learn\/wp-content\/uploads\/2021\/11\/apache_varnish_4-300x65.png 300w\" sizes=\"(max-width: 760px) 100vw, 760px\" \/><figcaption>Step 3. Diagram<\/figcaption><\/figure><\/div>\n\n\n\n<h2>Step 4. Testing<\/h2>\n\n\n\n<p>Open your domain in the web browser to test if the Varnish Cache is working properly:<\/p>\n\n\n\n<p><a href=\"https:\/\/example.com\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">https:\/\/example.com<\/a> <\/p>\n\n\n\n<p>Run one of the following three commands from shell to test varnish while simultaneously refreshing the web page:<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">varnishlog\nvarnishtop\nvarnishstat<\/code><\/pre><\/div>\n\n\n\n<p>Enter <code>Ctrl + C<\/code> to stop the above commands from running.<\/p>\n\n\n\n<p>If you experience any errors, it&#8217;s always wise to test each portion of our setup separately. If you look at diagram 3 above, you will see that our setup consists of 3 logical sections &#8211; Apache frontend, Varnish, and Apache backend.  <\/p>\n\n\n\n<p>Test Apache backend to see if the virtual host is accessible from the shell:<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">curl http:\/\/127.0.0.1:8080\/<\/code><\/pre><\/div>\n\n\n\n<p>Test Varnish Cache to see if it is accessible from the shell:<\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">curl http:\/\/127.0.0.1:80\/<\/code><\/pre><\/div>\n\n\n\n<p>Finally, test the Apache frontend from the shell: <\/p>\n\n\n\n<div class=\"wp-block-prismatic-blocks\"><div><\/div><pre><code class=\"language-bash\">curl https:\/\/127.0.0.1\/<\/code><\/pre><\/div>\n\n\n\n<h2>Summary<\/h2>\n\n\n\n<p>Varnish is useful to speed up site load time and we oftentimes suggest our clients optimize their <a href=\"\/magento-performance-optimization\">Magento store performance<\/a>. Please don&#8217;t hesitate to <a href=\"\/contacts\" rel=\"nofollow\">contact us<\/a> if you need assistance speeding up your Magento store. If you find this tutorial useful, please like and share it with the world.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this guide, we will show you how to install and configure the Varnish cache for the Apache webserver with SSL termination. One limitation of Varnish Cache is that it is designed to accelerate HTTP, not the secure HTTPS protocol. Therefore, some workarounds must be performed to allow Varnish to work on SSL enabled website. <\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[143],"tags":[155,158],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How To Configure Varnish + Apache with SSL Termination - Magento Tutorials for Beginners &amp; Professionals<\/title>\n<meta name=\"description\" content=\"Learn how to install and configure the Varnish cache for the Apache webserver with SSL termination. Apache will act as a reverse proxy and backend server.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/plumrocket.com\/learn\/ssl-varnish-apache\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How To Configure Varnish + Apache with SSL Termination - Magento Tutorials for Beginners &amp; Professionals\" \/>\n<meta property=\"og:description\" content=\"Learn how to install and configure the Varnish cache for the Apache webserver with SSL termination. Apache will act as a reverse proxy and backend server.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/plumrocket.com\/learn\/ssl-varnish-apache\" \/>\n<meta property=\"og:site_name\" content=\"Magento Tutorials for Beginners &amp; Professionals\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-16T15:23:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-03T11:45:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/plumrocket.com\/learn\/wp-content\/uploads\/2021\/11\/apache_varnish_1.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/plumrocket.com\/learn\/wp-json\/wp\/v2\/posts\/995"}],"collection":[{"href":"https:\/\/plumrocket.com\/learn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/plumrocket.com\/learn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/plumrocket.com\/learn\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/plumrocket.com\/learn\/wp-json\/wp\/v2\/comments?post=995"}],"version-history":[{"count":29,"href":"https:\/\/plumrocket.com\/learn\/wp-json\/wp\/v2\/posts\/995\/revisions"}],"predecessor-version":[{"id":2375,"href":"https:\/\/plumrocket.com\/learn\/wp-json\/wp\/v2\/posts\/995\/revisions\/2375"}],"wp:attachment":[{"href":"https:\/\/plumrocket.com\/learn\/wp-json\/wp\/v2\/media?parent=995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/plumrocket.com\/learn\/wp-json\/wp\/v2\/categories?post=995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/plumrocket.com\/learn\/wp-json\/wp\/v2\/tags?post=995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}