{"id":2246,"date":"2017-12-19T20:34:13","date_gmt":"2017-12-19T15:04:13","guid":{"rendered":"https:\/\/blog.pheonixsolutions.com\/?p=2246"},"modified":"2017-12-19T20:34:13","modified_gmt":"2017-12-19T15:04:13","slug":"country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection","status":"publish","type":"post","link":"https:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/","title":{"rendered":"Country based redirection on nginx behind load balancer|Geo Location Based redirection"},"content":{"rendered":"<h3>Country based redirection on nginx behind load balancer|Geo Location Based redirection<\/h3>\n<p><strong>Date Posted: 19-12-2017<\/strong><\/p>\n<p>There are scenario where we want to setup country based redirection depends on visitor. In this post, we will explain on how to setup country based redirection on nginx which is behind load balancer.<\/p>\n<h4>Assumption:<\/h4>\n<ol>\n<li>Nginx webserver. If nginx is not installed, follow the posts.\n<ol>\n<li><a href=\"https:\/\/blog.pheonixsolutions.com\/install-nginx-php-mariadb-ubuntu-16-04-1\/\">Ubuntu 16.04<\/a><\/li>\n<li><a href=\"https:\/\/blog.pheonixsolutions.com\/install-nginx-php-fpm-mariadb-on-centos-7\/\">Centos 7<\/a><\/li>\n<\/ol>\n<\/li>\n<li>Redirects India customer to\u00a0<em>example.in\u00a0<\/em>and rest of the country to\u00a0<em>example.com<\/em><\/li>\n<li>Webserver is behind the load balancer.<\/li>\n<\/ol>\n<h4>Implementation:<\/h4>\n<p>If you followed our previous articles then the default configuration path will be\u00a0<em>\/etc\/nginx\/nginx.conf\u00a0<\/em>and domain configuration will be\u00a0<em>\/etc\/nginx\/sites-enabled\/default.conf<\/em><\/p>\n<p>Open the nginx configuration and add the below lines under\u00a0<em>http\u00a0<\/em>section<\/p>\n<p><code>vi \/etc\/nginx\/nginx.conf<\/code><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">real_ip_header X-Forwarded-For;\r\nset_real_ip_from 0.0.0.0\/0;\r\nreal_ip_recursive on;\r\ngeoip_country \/usr\/share\/GeoIP\/GeoIP.dat;\r\n<\/pre>\n<p>Please make sure that the file \/usr\/share\/GeoIP\/GeoIP.dat exists.<\/p>\n<p>Where,<\/p>\n<p>The X-Forwarded-For and X-Real-IP directives in the above config will properly forward the Client IP from the Nginx server.<\/p>\n<p>real_ip_recursive to on will return the leftmost (original) IP instead of the rightmost (most recent) IP from the X-Forwarded-For header.<\/p>\n<p>Open the site configuration file(default config is\u00a0<em>\/etc\/nginx\/sites-enabled\/default.conf)\u00a0<\/em>and append the below line inside the\u00a0<em>server\u00a0<\/em> block.<\/p>\n<p><code>vi \/etc\/nginx\/sites-enabled\/default.conf<\/code><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">if ($geoip_country_code = IN){\r\nreturn 301 http:\/\/example.in;\r\n}\r\n<\/pre>\n<p>The above line will redirect the traffic to example.in incase if the traffic is generating from India.<\/p>\n<p>Verify the nginx syntax<\/p>\n<p><code>nginx -t<\/code><\/p>\n<p>Restart the nginx service.<\/p>\n<p><code>service nginx restart<\/code><\/p>\n<p>Access the domain or IP address from India and the request will be redirected to example.in.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Country based redirection on nginx behind load balancer|Geo Location Based redirection Date Posted: 19-12-2017 There are scenario where we want to setup country based redirection depends on visitor. In this post, we will explain on how to setup country based redirection on nginx which is behind load balancer. Assumption: Nginx&hellip; <a href=\"https:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/\" class=\"more-link read-more\" rel=\"bookmark\">Continue Reading <span class=\"screen-reader-text\">Country based redirection on nginx behind load balancer|Geo Location Based redirection<\/span><i class=\"fa fa-arrow-right\"><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[298,282],"tags":[401,271],"class_list":{"0":"post-2246","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"hentry","6":"category-nginx","7":"category-ubuntu","8":"tag-countrybasedredirection","9":"tag-nginx","10":"h-entry","12":"h-as-article"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pheonix Solutions - We Empower Your Business Growth<\/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:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pheonix Solutions - We Empower Your Business Growth\" \/>\n<meta property=\"og:description\" content=\"Country based redirection on nginx behind load balancer|Geo Location Based redirection Date Posted: 19-12-2017 There are scenario where we want to setup country based redirection depends on visitor. In this post, we will explain on how to setup country based redirection on nginx which is behind load balancer. Assumption: Nginx&hellip; Continue Reading Country based redirection on nginx behind load balancer|Geo Location Based redirection\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/\" \/>\n<meta property=\"og:site_name\" content=\"PHEONIXSOLUTIONS\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/PheonixSolutions-209942982759387\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-12-19T15:04:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2016\/09\/PX2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"3837\" \/>\n\t<meta property=\"og:image:height\" content=\"2540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@pheonixsolution\" \/>\n<meta name=\"twitter:site\" content=\"@pheonixsolution\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/0ffa33d73c869faec2d50e79c24e3503\"},\"headline\":\"Country based redirection on nginx behind load balancer|Geo Location Based redirection\",\"datePublished\":\"2017-12-19T15:04:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\\\/\"},\"wordCount\":255,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#organization\"},\"keywords\":[\"countrybasedredirection\",\"Nginx\"],\"articleSection\":[\"Nginx\",\"Ubuntu\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\\\/\",\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\\\/\",\"name\":\"Pheonix Solutions - We Empower Your Business Growth\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#website\"},\"datePublished\":\"2017-12-19T15:04:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Country based redirection on nginx behind load balancer|Geo Location Based redirection\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/\",\"name\":\"Pheonix Solutions\",\"description\":\"We Empower Your Business Growth\",\"publisher\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#organization\",\"name\":\"PheonixSolutions\",\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/logo.png\",\"width\":454,\"height\":300,\"caption\":\"PheonixSolutions\"},\"image\":{\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/PheonixSolutions-209942982759387\\\/\",\"https:\\\/\\\/x.com\\\/pheonixsolution\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/0ffa33d73c869faec2d50e79c24e3503\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09bacc0294abee1322a23ab4bc6a0330dd4cb4df707dc9d0b0efeba6c109608b?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09bacc0294abee1322a23ab4bc6a0330dd4cb4df707dc9d0b0efeba6c109608b?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09bacc0294abee1322a23ab4bc6a0330dd4cb4df707dc9d0b0efeba6c109608b?s=96&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"http:\\\/\\\/blog.pheonixsolutions.com\"],\"url\":\"https:\\\/\\\/pheonixsolutions.com\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pheonix Solutions - We Empower Your Business Growth","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:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/","og_locale":"en_US","og_type":"article","og_title":"Pheonix Solutions - We Empower Your Business Growth","og_description":"Country based redirection on nginx behind load balancer|Geo Location Based redirection Date Posted: 19-12-2017 There are scenario where we want to setup country based redirection depends on visitor. In this post, we will explain on how to setup country based redirection on nginx which is behind load balancer. Assumption: Nginx&hellip; Continue Reading Country based redirection on nginx behind load balancer|Geo Location Based redirection","og_url":"https:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/","og_site_name":"PHEONIXSOLUTIONS","article_publisher":"https:\/\/www.facebook.com\/PheonixSolutions-209942982759387\/","article_published_time":"2017-12-19T15:04:13+00:00","og_image":[{"width":3837,"height":2540,"url":"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2016\/09\/PX2.png","type":"image\/png"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@pheonixsolution","twitter_site":"@pheonixsolution","twitter_misc":{"Written by":"admin","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/#article","isPartOf":{"@id":"https:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/"},"author":{"name":"admin","@id":"https:\/\/pheonixsolutions.com\/blog\/#\/schema\/person\/0ffa33d73c869faec2d50e79c24e3503"},"headline":"Country based redirection on nginx behind load balancer|Geo Location Based redirection","datePublished":"2017-12-19T15:04:13+00:00","mainEntityOfPage":{"@id":"https:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/"},"wordCount":255,"commentCount":0,"publisher":{"@id":"https:\/\/pheonixsolutions.com\/blog\/#organization"},"keywords":["countrybasedredirection","Nginx"],"articleSection":["Nginx","Ubuntu"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/","url":"https:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/","name":"Pheonix Solutions - We Empower Your Business Growth","isPartOf":{"@id":"https:\/\/pheonixsolutions.com\/blog\/#website"},"datePublished":"2017-12-19T15:04:13+00:00","breadcrumb":{"@id":"https:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/pheonixsolutions.com\/blog\/country-based-redirection-nginx-behind-load-balancergeo-location-based-redirection\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/pheonixsolutions.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Country based redirection on nginx behind load balancer|Geo Location Based redirection"}]},{"@type":"WebSite","@id":"https:\/\/pheonixsolutions.com\/blog\/#website","url":"https:\/\/pheonixsolutions.com\/blog\/","name":"Pheonix Solutions","description":"We Empower Your Business Growth","publisher":{"@id":"https:\/\/pheonixsolutions.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pheonixsolutions.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/pheonixsolutions.com\/blog\/#organization","name":"PheonixSolutions","url":"https:\/\/pheonixsolutions.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/pheonixsolutions.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2016\/12\/logo.png","contentUrl":"https:\/\/pheonixsolutions.com\/blog\/wp-content\/uploads\/2016\/12\/logo.png","width":454,"height":300,"caption":"PheonixSolutions"},"image":{"@id":"https:\/\/pheonixsolutions.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/PheonixSolutions-209942982759387\/","https:\/\/x.com\/pheonixsolution"]},{"@type":"Person","@id":"https:\/\/pheonixsolutions.com\/blog\/#\/schema\/person\/0ffa33d73c869faec2d50e79c24e3503","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/09bacc0294abee1322a23ab4bc6a0330dd4cb4df707dc9d0b0efeba6c109608b?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/09bacc0294abee1322a23ab4bc6a0330dd4cb4df707dc9d0b0efeba6c109608b?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/09bacc0294abee1322a23ab4bc6a0330dd4cb4df707dc9d0b0efeba6c109608b?s=96&r=g","caption":"admin"},"sameAs":["http:\/\/blog.pheonixsolutions.com"],"url":"https:\/\/pheonixsolutions.com\/blog\/author\/admin\/"}]}},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p7F4uM-Ae","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/2246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=2246"}],"version-history":[{"count":0,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/2246\/revisions"}],"wp:attachment":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=2246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=2246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=2246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}