unicorn Ruby/Rack server user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
* [PATCH] examples/nginx.conf: add ipv6only comment
@ 2011-06-07  2:28 Eric Wong
  2011-06-07 17:04 ` Eric Wong
  2011-06-07 21:05 ` [PATCH] configurator: add :ipv6only directive Eric Wong
  0 siblings, 2 replies; 3+ messages in thread
From: Eric Wong @ 2011-06-07  2:28 UTC (permalink / raw)
  To: mongrel-unicorn

IPv4 addresses started looking very ugly the first time I got
IPv6 working on bogomips.org.  In case somebody else can't stand
how IPv4-mapped-IPv6 addresses look, the workaround is to use
two listeners and ensure the IPv6 one is ipv6only.

Unicorn itself supports IPv6, too, but nobody uses/needs it.
I'll add :ipv6only support shortly (probably tomorrow).

>From 32b340b88915ec945ebdbfa11b7da242860a6f44 Mon Sep 17 00:00:00 2001
From: Eric Wong <normalperson@yhbt.net>
Date: Mon, 6 Jun 2011 19:15:36 -0700
Subject: [PATCH] examples/nginx.conf: add ipv6only comment

IPv4-mapped-IPv6 addresses are fugly.
---
 examples/nginx.conf |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/examples/nginx.conf b/examples/nginx.conf
index 9f245c8..368e19e 100644
--- a/examples/nginx.conf
+++ b/examples/nginx.conf
@@ -87,6 +87,14 @@ http {
     # listen 80 default deferred; # for Linux
     # listen 80 default accept_filter=httpready; # for FreeBSD
 
+    # If you have IPv6, you'll likely want to have two separate listeners.
+    # One on IPv4 only (the default), and another on IPv6 only instead
+    # of a single dual-stack listener.  A dual-stack listener will make
+    # $remote_addr will make IPv4 addresses ugly (e.g ":ffff:10.0.0.1"
+    # instead of just "10.0.0.1") and potentially trigger bugs in
+    # some software.
+    # listen [::]:80 ipv6only=on; # deferred or accept_filter recommended
+
     client_max_body_size 4G;
     server_name _;
 
-- 
Eric Wong
_______________________________________________
Unicorn mailing list - mongrel-unicorn@rubyforge.org
http://rubyforge.org/mailman/listinfo/mongrel-unicorn
Do not quote signatures (like this one) or top post when replying


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] examples/nginx.conf: add ipv6only comment
  2011-06-07  2:28 [PATCH] examples/nginx.conf: add ipv6only comment Eric Wong
@ 2011-06-07 17:04 ` Eric Wong
  2011-06-07 21:05 ` [PATCH] configurator: add :ipv6only directive Eric Wong
  1 sibling, 0 replies; 3+ messages in thread
From: Eric Wong @ 2011-06-07 17:04 UTC (permalink / raw)
  To: mongrel-unicorn

My wording sucked for the original comment, just pushed this out to
unicorn.git (6eefc641c84eaa86cb2be4a2b1983b15efcbfae1)

diff --git a/examples/nginx.conf b/examples/nginx.conf
index 368e19e..cc1038a 100644
--- a/examples/nginx.conf
+++ b/examples/nginx.conf
@@ -90,7 +90,7 @@ http {
     # If you have IPv6, you'll likely want to have two separate listeners.
     # One on IPv4 only (the default), and another on IPv6 only instead
     # of a single dual-stack listener.  A dual-stack listener will make
-    # $remote_addr will make IPv4 addresses ugly (e.g ":ffff:10.0.0.1"
+    # for ugly IPv4 addresses in $remote_addr (e.g ":ffff:10.0.0.1"
     # instead of just "10.0.0.1") and potentially trigger bugs in
     # some software.
     # listen [::]:80 ipv6only=on; # deferred or accept_filter recommended
-- 
Eric Wong
_______________________________________________
Unicorn mailing list - mongrel-unicorn@rubyforge.org
http://rubyforge.org/mailman/listinfo/mongrel-unicorn
Do not quote signatures (like this one) or top post when replying


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH] configurator: add :ipv6only directive
  2011-06-07  2:28 [PATCH] examples/nginx.conf: add ipv6only comment Eric Wong
  2011-06-07 17:04 ` Eric Wong
@ 2011-06-07 21:05 ` Eric Wong
  1 sibling, 0 replies; 3+ messages in thread
From: Eric Wong @ 2011-06-07 21:05 UTC (permalink / raw)
  To: mongrel-unicorn

Eric Wong <normalperson@yhbt.net> wrote:
> Unicorn itself supports IPv6, too, but nobody uses/needs it.
> I'll add :ipv6only support shortly (probably tomorrow).

Pushed to unicorn.git (c3880bb0cc00821d1715a7dd94b0b76a03a7ace0)

Documentation below:

diff --git a/lib/unicorn/configurator.rb b/lib/unicorn/configurator.rb
index b6ad022..0b84d53 100644
--- a/lib/unicorn/configurator.rb
+++ b/lib/unicorn/configurator.rb
@@ -281,6 +281,22 @@ class Unicorn::Configurator
   #
   #   Default: +true+ in \Unicorn 3.4+, +false+ in Rainbows!
   #
+  # [:ipv6only => true or false]
+  #
+  #   This option makes IPv6-capable TCP listeners IPv6-only and unable
+  #   to receive IPv4 queries on dual-stack systems.  A separate IPv4-only
+  #   listener is required if this is true.
+  #
+  #   This option is only available for Ruby 1.9.2 and later.
+  #
+  #   Enabling this option for the IPv6-only listener and having a
+  #   separate IPv4 listener is recommended if you wish to support IPv6
+  #   on the same TCP port.  Otherwise, the value of \env[\"REMOTE_ADDR\"]
+  #   will appear as an ugly IPv4-mapped-IPv6 address for IPv4 clients
+  #   (e.g ":ffff:10.0.0.1" instead of just "10.0.0.1").
+  #
+  #   Default: Operating-system dependent
+  #
   # [:tries => Integer]
   #
   #   Times to retry binding a socket if it is already in use
-- 
Eric Wong
_______________________________________________
Unicorn mailing list - mongrel-unicorn@rubyforge.org
http://rubyforge.org/mailman/listinfo/mongrel-unicorn
Do not quote signatures (like this one) or top post when replying


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-06-07 21:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-07  2:28 [PATCH] examples/nginx.conf: add ipv6only comment Eric Wong
2011-06-07 17:04 ` Eric Wong
2011-06-07 21:05 ` [PATCH] configurator: add :ipv6only directive Eric Wong

Code repositories for project(s) associated with this public inbox

	https://yhbt.net/unicorn.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).