Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I decided I would give IPv6 a go for my website, but I am having issues getting my server to respond to requests via IPv6.

I have already set up an AAAA record and have had a good go at configuring NGINX to respond to requests. My server is running NGINX on CentOS 6.4.

Here is what the top part of my config looks like:

    listen      443 ssl;
    listen      [::]:443 ssl;
    server_name  *;
    access_log off;

    ssl on;
    ssl_certificate /etc/nginx/conf/ssl-unified.crt;
    ssl_certificate_key /etc/nginx/conf/ssl.key;

When I run 'netstat -nlp | grep nginx' I get the following result, as if it is actually listening:

tcp        0      0 :::443     :::*                        LISTEN      14463/nginx

I've tried quite a few sites that test IPv6 connectivity, like this one and this one, but they all report back as being able to ping the address but get no server response.

All help is highly appreciated, thank you!

share|improve this question

migrated from Apr 1 '14 at 1:16

This question came from our site for professional and enthusiast programmers.

Have you tried connecting locally? What does 'nc -z ::1 443` say? What about actually trying to send a manual GET / HTTP/1.0 request to it with nc ::1 443? – Etan Reisner Mar 31 '14 at 17:32
The netcat command does nothing, no errors or anything. – Callumpy Mar 31 '14 at 17:44
Which one? With -z it should either return nothing (and an error return code) or print a message about success (and a success return codr). – Etan Reisner Mar 31 '14 at 17:47
My mistake, it's showing a success message. – Callumpy Mar 31 '14 at 17:52
If it shows success on port 80 for ::1 (or ::) but not for 443 then your server isn't listening on 443 on :: correctly. – Etan Reisner Mar 31 '14 at 17:56
up vote 4 down vote accepted

You have a firewall issue. I do have IPv6, and when I try to wget your site:

Connecting to **domain** (**domain**)|**IPv6 Address**|:80... failed: Permission denied.

The same for HTTPS:

Connecting to **domain** (**domain**)|**IPv6 Address**|:443... failed: Permission denied.

Likely you only have these open in your IPv4 firewall and not in your IPv6 firewall.

How you fix this depends on your operating system, what web control panels you use, if any, etc. If you're just using CentOS without any control panels you can use the system-config-network-tui command line tool to configure your firewall and it will correctly open the ports for IPv4 and IPv6.

share|improve this answer
Ah thank you! I didn't realise there was a separate IPtables to edit for IPv6, how daft of me I guess. I did vi /etc/sysconfig/ip6tables and added in the ports, appears to be working now! – Callumpy Mar 31 '14 at 19:37
I'm unable to vote up your answer as I don't have enough rep :( – Callumpy Mar 31 '14 at 19:38
@Callumpy If you haven't yet got IPv6 from your ISP, I recommend using a tunnel broker such as SixXS to get a free IPv6 tunnel and /48 if you need it. – Michael Hampton Mar 31 '14 at 20:11
Yeah that is something i've been looking into actually, although it's about time ISPs started to roll out IPv6 for their customers, especially a big ISP like mine, British Telecom. – Callumpy Mar 31 '14 at 20:15
I just signed up on and have started tunneling, I can now test the site for myself, and i've even installed IPvFoo chrome plugin so I can see when im using IPv6 or IPv4! Loving it. – Callumpy Mar 31 '14 at 21:01

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.