{"id":1773,"date":"2021-06-02T19:25:29","date_gmt":"2021-06-02T17:25:29","guid":{"rendered":"https:\/\/mikadmin.fr\/blog\/?p=1773"},"modified":"2021-09-19T01:45:50","modified_gmt":"2021-09-18T23:45:50","slug":"cloudflare-real-visitor-ip-nginx-logs","status":"publish","type":"post","link":"https:\/\/mikadmin.fr\/blog\/cloudflare-real-visitor-ip-nginx-logs\/","title":{"rendered":"CloudFlare : Real visitor IPs in Nginx logs"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\"><\/span> <span class=\"rt-time\"> 2<\/span> <span class=\"rt-label rt-postfix\">min read<\/span><\/span><p>Views: 325<\/p>\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"328\" height=\"170\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/06\/Webp.net-resizeimage-2.jpg\" alt=\"cloudflare\" class=\"wp-image-1785\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/06\/Webp.net-resizeimage-2.jpg 328w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/06\/Webp.net-resizeimage-2-300x155.jpg 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/06\/Webp.net-resizeimage-2-150x78.jpg 150w\" sizes=\"auto, (max-width: 328px) 100vw, 328px\" \/><\/figure><\/div>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">Dans cet article, nous allons voir comment <strong>r\u00e9cup\u00e9rer la vraie IP d&rsquo;un visiteur<\/strong> consultant notre site web utilisant <strong><span style=\"color:#00d084\" class=\"tadv-color\">Nginx<\/span><\/strong> &amp; <strong><span style=\"color:#ef762b\" class=\"tadv-color\">CloudFlare<\/span><\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">Par d\u00e9faut nos logs <strong><a href=\"https:\/\/mikadmin.fr\/blog\/how-to-hide-the-nginx-version\/\" target=\"_blank\" rel=\"noreferrer noopener\">Nginx<\/a><\/strong> se situant dans <strong>\/var\/log\/nginx\/access.log<\/strong> et <strong>\/var\/log\/nginx\/error.log<\/strong> nous renvoient l&rsquo;adresse IP d&rsquo;un serveur <strong><span style=\"color:#ff6900\" class=\"tadv-color\"><strong>CloudFlare<\/strong><\/span><\/strong> et non celle du client comme l&rsquo;illustre tr\u00e8s bien ce sch\u00e9ma :<\/p>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"610\" height=\"304\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/06\/Screenshot_5.png\" alt=\"\" class=\"wp-image-1795\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/06\/Screenshot_5.png 610w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/06\/Screenshot_5-300x150.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/06\/Screenshot_5-150x75.png 150w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/figure><\/div>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">Pas de panique il est tr\u00e8s simple de r\u00e9soudre cette probl\u00e9matique, il nous suffit de faire appel au module <strong><strong><strong><span style=\"color:#00d084\" class=\"tadv-color\">Nginx<\/span><\/strong><\/strong> <a href=\"https:\/\/docs.nginx.com\/nginx\/admin-guide\/load-balancer\/using-proxy-protocol\/\" target=\"_blank\" rel=\"noreferrer noopener\">set_real_ip_from<\/a><\/strong> et d&rsquo;\u00e9diter notre fichier de configuration <strong><span style=\"color:#00d084\" class=\"tadv-color\">Nginx<\/span><\/strong> :<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">nano \/etc\/nginx\/nginx.conf<\/code><\/pre>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">Dans la directive<strong> <span style=\"color:#0693e3\" class=\"tadv-color\">http<\/span><\/strong> nous allons \u00e0 pr\u00e9sent y inclure les adresses ip des serveurs <a href=\"https:\/\/www.cloudflare.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">CloudFlare<\/a> ainsi que le <strong>header sp\u00e9cifique<\/strong> pour r\u00e9cup\u00e9rer notre fameuse adresse IP du client.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-nginx\" data-line=\"\">set_real_ip_from 103.21.244.0\/22;\nset_real_ip_from 103.22.200.0\/22;\nset_real_ip_from 103.31.4.0\/22;\nset_real_ip_from 104.16.0.0\/13;\nset_real_ip_from 104.24.0.0\/14;\nset_real_ip_from 108.162.192.0\/18;\nset_real_ip_from 131.0.72.0\/22;\nset_real_ip_from 141.101.64.0\/18;\nset_real_ip_from 162.158.0.0\/15;\nset_real_ip_from 172.64.0.0\/13;\nset_real_ip_from 173.245.48.0\/20;\nset_real_ip_from 188.114.96.0\/20;\nset_real_ip_from 190.93.240.0\/20;\nset_real_ip_from 197.234.240.0\/22;\nset_real_ip_from 198.41.128.0\/17;\nset_real_ip_from 2400:cb00::\/32;\nset_real_ip_from 2606:4700::\/32;\nset_real_ip_from 2803:f800::\/32;\nset_real_ip_from 2405:b500::\/32;\nset_real_ip_from 2405:8100::\/32;\t\nset_real_ip_from 2c0f:f248::\/32;\nset_real_ip_from 2a06:98c0::\/29;\n\nreal_ip_header CF-Connecting-IP;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">systemctl reload nginx<\/code><\/pre>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">Attention ! Cette liste <strong>change au fil du temps<\/strong> je vous conseille donc de r\u00e9cup\u00e9rer ces ranges d&rsquo;adresses ici : <a href=\"https:\/\/www.cloudflare.com\/fr-fr\/ips\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.cloudflare.com\/fr-fr\/ips\/<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">Apr\u00e8s avoir effectu\u00e9 cette proc\u00e9dure nous r\u00e9cup\u00e9rons bien les bonnes informations comme l&rsquo;illustre ce dernier sch\u00e9ma !<\/p>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"614\" height=\"297\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/06\/image.png\" alt=\"\" class=\"wp-image-1798\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/06\/image.png 614w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/06\/image-300x145.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/06\/image-150x73.png 150w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/figure><\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\"><\/span> <span class=\"rt-time\"> 2<\/span> <span class=\"rt-label rt-postfix\">min read<\/span><\/span>Real visitor IPs in Nginx logs when using CloudFlare. <a href=\"https:\/\/mikadmin.fr\/blog\/cloudflare-real-visitor-ip-nginx-logs\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1788,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[3],"tags":[65,8,10],"class_list":["post-1773","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-system","tag-cloudflare","tag-nginx","tag-security"],"aioseo_notices":[],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/posts\/1773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/comments?post=1773"}],"version-history":[{"count":0,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/posts\/1773\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/media\/1788"}],"wp:attachment":[{"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/media?parent=1773"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/categories?post=1773"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/tags?post=1773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}