{"id":2972,"date":"2023-02-03T12:57:53","date_gmt":"2023-02-03T07:27:53","guid":{"rendered":"https:\/\/trysiteprice.com\/blog\/?p=2972"},"modified":"2023-02-03T12:57:53","modified_gmt":"2023-02-03T07:27:53","slug":"how-to-log-real-users-ip-address-with-nginx-in-log-files","status":"publish","type":"post","link":"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/","title":{"rendered":"How to log real user\u2019s IP address with Nginx in log files"},"content":{"rendered":"<p>To log a real user&#8217;s IP address with Nginx in log files, you can use the <code>$remote_addr<\/code> variable. This variable contains the IP address of the user making the request.<\/p>\n<p>Here&#8217;s how you can configure Nginx to log the real user&#8217;s IP address in the log files:<\/p>\n<ol>\n<li>Open the Nginx configuration file: The Nginx configuration file is usually located at <code>\/etc\/nginx\/nginx.conf<\/code>. You can edit this file using a text editor such as <code>nano<\/code>:<\/li>\n<\/ol>\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\">sudo nano \/etc\/nginx\/nginx.conf<br \/>\n<\/code><\/div>\n<\/div>\n<ol start=\"2\">\n<li>Configure the log format: Nginx uses a default log format, but you can create a custom log format to include the <code>$remote_addr<\/code> variable. To do this, add the following code to the Nginx configuration file:<\/li>\n<\/ol>\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-swift\">log_format custom '<span class=\"hljs-variable\">$remote_addr<\/span> <span class=\"hljs-operator\">-<\/span> <span class=\"hljs-variable\">$remote_user<\/span> [<span class=\"hljs-variable\">$time_local<\/span>] '<br \/>\n                  '<span class=\"hljs-string\">\"$request\"<\/span> <span class=\"hljs-variable\">$status<\/span> <span class=\"hljs-variable\">$body_bytes_sent<\/span> '<br \/>\n                  '<span class=\"hljs-string\">\"$http_referer\"<\/span> <span class=\"hljs-string\">\"$http_user_agent\"<\/span>';<br \/>\n<\/code><\/div>\n<\/div>\n<p>This creates a custom log format that includes the IP address, user, time, request, status code, number of bytes sent, referer, and user agent.<\/p>\n<ol start=\"3\">\n<li>Apply the log format to the access logs: Next, you will need to apply the custom log format to the access logs by adding the following code to the server block in the Nginx configuration file:<\/li>\n<\/ol>\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-c\">access_log \/var\/<span class=\"hljs-built_in\">log<\/span>\/nginx\/access.<span class=\"hljs-built_in\">log<\/span> custom;<br \/>\n<\/code><\/div>\n<\/div>\n<p>Replace <code>\/var\/log\/nginx\/access.log<\/code> with the path to the access log file you want to use.<\/p>\n<ol start=\"4\">\n<li>Save and close the configuration file: Once you have made the changes, save the file and close the text editor.<\/li>\n<li>Restart Nginx: Finally, you will need to restart Nginx for the changes to take effect. You can do this with the following command:<\/li>\n<\/ol>\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\">sudo systemctl restart nginx<br \/>\n<\/code><\/div>\n<\/div>\n<p>Now, when a user makes a request to your Nginx server, the real user&#8217;s IP address will be logged in the access log file along with other details. You can view the log file to see the IP addresses of users who have made requests to your Nginx server.<\/p>\n<p>Note: The exact steps to log the real user&#8217;s IP address in Nginx log files may vary slightly depending on your setup and configuration. For more information, see the Nginx documentation: <a href=\"https:\/\/nginx.org\/en\/docs\/\" target=\"_new\" rel=\"noopener\">https:\/\/nginx.org\/en\/docs\/<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To log a real user&#8217;s IP address with Nginx in log files, you can use the $remote_addr variable. This variable contains the IP address of the user making the request. Here&#8217;s how you can configure Nginx to log the real user&#8217;s IP address in the log files: Open the Nginx configuration file: The Nginx configuration &#8230; <a title=\"How to log real user\u2019s IP address with Nginx in log files\" class=\"read-more\" href=\"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/\" aria-label=\"Read more about How to log real user\u2019s IP address with Nginx in log files\">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-2972","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>How to log real user\u2019s IP address with Nginx in log files - 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\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to log real user\u2019s IP address with Nginx in log files - TrySitePrice\" \/>\n<meta property=\"og:description\" content=\"To log a real user&#8217;s IP address with Nginx in log files, you can use the $remote_addr variable. This variable contains the IP address of the user making the request. Here&#8217;s how you can configure Nginx to log the real user&#8217;s IP address in the log files: Open the Nginx configuration file: The Nginx configuration ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/\" \/>\n<meta property=\"og:site_name\" content=\"TrySitePrice\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-03T07:27:53+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\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/\"},\"author\":{\"name\":\"Rahul Sahu\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4\"},\"headline\":\"How to log real user\u2019s IP address with Nginx in log files\",\"datePublished\":\"2023-02-03T07:27:53+00:00\",\"dateModified\":\"2023-02-03T07:27:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/\"},\"wordCount\":318,\"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\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/\",\"url\":\"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/\",\"name\":\"How to log real user\u2019s IP address with Nginx in log files - TrySitePrice\",\"isPartOf\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#website\"},\"datePublished\":\"2023-02-03T07:27:53+00:00\",\"dateModified\":\"2023-02-03T07:27:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/trysiteprice.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to log real user\u2019s IP address with Nginx in log files\"}]},{\"@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":"How to log real user\u2019s IP address with Nginx in log files - 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\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/","og_locale":"en_US","og_type":"article","og_title":"How to log real user\u2019s IP address with Nginx in log files - TrySitePrice","og_description":"To log a real user&#8217;s IP address with Nginx in log files, you can use the $remote_addr variable. This variable contains the IP address of the user making the request. Here&#8217;s how you can configure Nginx to log the real user&#8217;s IP address in the log files: Open the Nginx configuration file: The Nginx configuration ... Read more","og_url":"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/","og_site_name":"TrySitePrice","article_published_time":"2023-02-03T07:27:53+00:00","author":"Rahul Sahu","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/#article","isPartOf":{"@id":"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/"},"author":{"name":"Rahul Sahu","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4"},"headline":"How to log real user\u2019s IP address with Nginx in log files","datePublished":"2023-02-03T07:27:53+00:00","dateModified":"2023-02-03T07:27:53+00:00","mainEntityOfPage":{"@id":"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/"},"wordCount":318,"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\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/","url":"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/","name":"How to log real user\u2019s IP address with Nginx in log files - TrySitePrice","isPartOf":{"@id":"https:\/\/trysiteprice.com\/blog\/#website"},"datePublished":"2023-02-03T07:27:53+00:00","dateModified":"2023-02-03T07:27:53+00:00","breadcrumb":{"@id":"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/trysiteprice.com\/blog\/how-to-log-real-users-ip-address-with-nginx-in-log-files\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/trysiteprice.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to log real user\u2019s IP address with Nginx in log files"}]},{"@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\/2972","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=2972"}],"version-history":[{"count":1,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/2972\/revisions"}],"predecessor-version":[{"id":2973,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/2972\/revisions\/2973"}],"wp:attachment":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/media?parent=2972"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/categories?post=2972"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/tags?post=2972"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}