{"id":5413,"date":"2023-02-15T14:05:39","date_gmt":"2023-02-15T08:35:39","guid":{"rendered":"https:\/\/trysiteprice.com\/blog\/?p=5413"},"modified":"2023-02-15T14:05:39","modified_gmt":"2023-02-15T08:35:39","slug":"nginx-send-custom-http-headers","status":"publish","type":"post","link":"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/","title":{"rendered":"nginx: Send Custom HTTP Headers"},"content":{"rendered":"<p>In Nginx, you can send custom HTTP headers to the client by using the <code>add_header<\/code> directive. Here is an example configuration that adds a custom <code>X-My-Header<\/code> HTTP header to all responses:<\/p>\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs language-perl\">server {<br \/>\n    <span class=\"hljs-keyword\">listen<\/span> <span class=\"hljs-number\">80<\/span>;<br \/>\n    server_name example.com;<\/p>\n<p>    location \/ {<br \/>\n        <span class=\"hljs-comment\"># Set the content of the custom header<\/span><br \/>\n        add_header X-My-Header <span class=\"hljs-string\">\"Hello, world!\"<\/span>;<\/p>\n<p>        <span class=\"hljs-comment\"># ... other configuration options ...<\/span><br \/>\n    }<br \/>\n}<br \/>\n<\/code><\/div>\n<\/div>\n<p>In this example, the <code>add_header<\/code> directive is used to set the value of the <code>X-My-Header<\/code> HTTP header to &#8220;Hello, world!&#8221;. The <code>add_header<\/code> directive can be used within the <code>http<\/code>, <code>server<\/code>, and <code>location<\/code> blocks of the Nginx configuration file.<\/p>\n<p>You can also use variables to set the value of the custom header. For example, to set the value of the <code>X-My-Header<\/code> header to the client&#8217;s IP address, you can use the <code>$remote_addr<\/code> variable like this:<\/p>\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs language-bash\">location \/ {<br \/>\n    add_header X-My-Header <span class=\"hljs-string\">\"Your IP address is <span class=\"hljs-variable\">$remote_addr<\/span>\"<\/span>;<br \/>\n}<br \/>\n<\/code><\/div>\n<\/div>\n<p>This will set the value of the <code>X-My-Header<\/code> header to the client&#8217;s IP address.<\/p>\n<p>Note that adding custom headers can have security implications, especially if the headers contain sensitive information. Make sure to only add headers that are necessary for your application, and avoid adding headers that could reveal sensitive information or be used for malicious purposes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Nginx, you can send custom HTTP headers to the client by using the add_header directive. Here is an example configuration that adds a custom X-My-Header HTTP header to all responses: server { listen 80; server_name example.com; location \/ { # Set the content of the custom header add_header X-My-Header &#8220;Hello, world!&#8221;; # &#8230; other &#8230; <a title=\"nginx: Send Custom HTTP Headers\" class=\"read-more\" href=\"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/\" aria-label=\"Read more about nginx: Send Custom HTTP Headers\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5413","post","type-post","status-publish","format-standard","hentry","category-best-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>nginx: Send Custom HTTP Headers - TrySitePrice<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"nginx: Send Custom HTTP Headers - TrySitePrice\" \/>\n<meta property=\"og:description\" content=\"In Nginx, you can send custom HTTP headers to the client by using the add_header directive. Here is an example configuration that adds a custom X-My-Header HTTP header to all responses: server { listen 80; server_name example.com; location \/ { # Set the content of the custom header add_header X-My-Header &quot;Hello, world!&quot;; # ... other ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/\" \/>\n<meta property=\"og:site_name\" content=\"TrySitePrice\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-15T08:35:39+00:00\" \/>\n<meta name=\"author\" content=\"Rahul Sahu\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/\"},\"author\":{\"name\":\"Rahul Sahu\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4\"},\"headline\":\"nginx: Send Custom HTTP Headers\",\"datePublished\":\"2023-02-15T08:35:39+00:00\",\"dateModified\":\"2023-02-15T08:35:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/\"},\"wordCount\":156,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#organization\"},\"articleSection\":[\"Best\/Tutorial\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/\",\"url\":\"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/\",\"name\":\"nginx: Send Custom HTTP Headers - TrySitePrice\",\"isPartOf\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#website\"},\"datePublished\":\"2023-02-15T08:35:39+00:00\",\"dateModified\":\"2023-02-15T08:35:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/trysiteprice.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"nginx: Send Custom HTTP Headers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#website\",\"url\":\"https:\/\/trysiteprice.com\/blog\/\",\"name\":\"TrySitePrice\",\"description\":\"Free Website Value Calculator Tool\",\"publisher\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/trysiteprice.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#organization\",\"name\":\"TrySitePrice\",\"url\":\"https:\/\/trysiteprice.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png\",\"contentUrl\":\"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png\",\"width\":395,\"height\":268,\"caption\":\"TrySitePrice\"},\"image\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4\",\"name\":\"Rahul Sahu\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g\",\"caption\":\"Rahul Sahu\"},\"sameAs\":[\"https:\/\/trysiteprice.com\/blog\"],\"url\":\"https:\/\/trysiteprice.com\/blog\/author\/rsahu4242_trysiteprice\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"nginx: Send Custom HTTP Headers - TrySitePrice","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:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/","og_locale":"en_US","og_type":"article","og_title":"nginx: Send Custom HTTP Headers - TrySitePrice","og_description":"In Nginx, you can send custom HTTP headers to the client by using the add_header directive. Here is an example configuration that adds a custom X-My-Header HTTP header to all responses: server { listen 80; server_name example.com; location \/ { # Set the content of the custom header add_header X-My-Header \"Hello, world!\"; # ... other ... Read more","og_url":"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/","og_site_name":"TrySitePrice","article_published_time":"2023-02-15T08:35:39+00:00","author":"Rahul Sahu","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/#article","isPartOf":{"@id":"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/"},"author":{"name":"Rahul Sahu","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4"},"headline":"nginx: Send Custom HTTP Headers","datePublished":"2023-02-15T08:35:39+00:00","dateModified":"2023-02-15T08:35:39+00:00","mainEntityOfPage":{"@id":"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/"},"wordCount":156,"commentCount":0,"publisher":{"@id":"https:\/\/trysiteprice.com\/blog\/#organization"},"articleSection":["Best\/Tutorial"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/","url":"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/","name":"nginx: Send Custom HTTP Headers - TrySitePrice","isPartOf":{"@id":"https:\/\/trysiteprice.com\/blog\/#website"},"datePublished":"2023-02-15T08:35:39+00:00","dateModified":"2023-02-15T08:35:39+00:00","breadcrumb":{"@id":"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/trysiteprice.com\/blog\/nginx-send-custom-http-headers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/trysiteprice.com\/blog\/"},{"@type":"ListItem","position":2,"name":"nginx: Send Custom HTTP Headers"}]},{"@type":"WebSite","@id":"https:\/\/trysiteprice.com\/blog\/#website","url":"https:\/\/trysiteprice.com\/blog\/","name":"TrySitePrice","description":"Free Website Value Calculator Tool","publisher":{"@id":"https:\/\/trysiteprice.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/trysiteprice.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/trysiteprice.com\/blog\/#organization","name":"TrySitePrice","url":"https:\/\/trysiteprice.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png","contentUrl":"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png","width":395,"height":268,"caption":"TrySitePrice"},"image":{"@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4","name":"Rahul Sahu","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g","caption":"Rahul Sahu"},"sameAs":["https:\/\/trysiteprice.com\/blog"],"url":"https:\/\/trysiteprice.com\/blog\/author\/rsahu4242_trysiteprice\/"}]}},"_links":{"self":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/5413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/comments?post=5413"}],"version-history":[{"count":1,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/5413\/revisions"}],"predecessor-version":[{"id":5416,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/5413\/revisions\/5416"}],"wp:attachment":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/media?parent=5413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/categories?post=5413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/tags?post=5413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}