How to disable IPv4 on your website » History » Version 6
Nico Schottelius, 02/05/2019 03:43 PM
1 | 1 | Nico Schottelius | h1. How to disable IPv4 on your website |
---|---|---|---|
2 | |||
3 | {{toc}} |
||
4 | |||
5 | h2. Status |
||
6 | |||
7 | 4 | Nico Schottelius | This document is *IN PRODUCTION*. |
8 | 1 | Nico Schottelius | |
9 | h2. Introduction |
||
10 | |||
11 | This article is for you, if you want to only allow IPv6 traffic to |
||
12 | your website or some parts of your website. This article is also for |
||
13 | you if you are running a website on an IPv6 only webserver / VM. |
||
14 | |||
15 | 3 | Nico Schottelius | h2. TL;DR |
16 | |||
17 | * For IPv6 only servers add an DNS A entry to 185.203.114.115. |
||
18 | * For Dual stack servers redirect to to https://no-ipv4-here.ungleich.ch/?back_to=https://your-page-here/your-path |
||
19 | |||
20 | 1 | Nico Schottelius | h2. IPv6 only webservers |
21 | |||
22 | If you are running an IPv6 only webserver, IPv4 clients cannot reach |
||
23 | you. They will be presented with an error message from the |
||
24 | browser. |
||
25 | |||
26 | This is clearly not an expected behaviour and your visitors will |
||
27 | likely be confused. |
||
28 | |||
29 | To solve this problem, you can add a DNS "A" entry for your website |
||
30 | pointing to 185.203.114.115. IPv4 only visitors will then be presented |
||
31 | with the content of https://no-ipv4-here.ungleich.ch/ that explains to |
||
32 | them that they need IPv6 to visit your website. |
||
33 | |||
34 | h3. Summary |
||
35 | |||
36 | If you want to help IPv4 visitors to visit IPv6 only websites, you can |
||
37 | add a DNS A entry pointing to 185.203.114.115. Below is the example |
||
38 | code for the BIND DNS server: |
||
39 | |||
40 | <pre> |
||
41 | ; The first one should already be present |
||
42 | example.com. IN AAAA your:ipv6:address:: |
||
43 | |||
44 | ; This one allows visitors to get a hint |
||
45 | example.com. IN A 185.203.114.115 |
||
46 | </pre> |
||
47 | |||
48 | 2 | Nico Schottelius | h2. Dual Stack Webserver: Disabling IPv4 traffic on (parts of) your website |
49 | 1 | Nico Schottelius | |
50 | If you are running a Dual Stack website (reachable by IPv6 and IPv4) |
||
51 | and you want to disable IPv4 traffic, you can redirect the user to |
||
52 | 2 | Nico Schottelius | http://no-ipv4-here.ungleich.ch?back_to=https://www.example.com/your-url |
53 | 1 | Nico Schottelius | |
54 | h3. Sample nginx configuration for disabling IPv4 traffic |
||
55 | |||
56 | Assuming that you want to disable |
||
57 | <pre> |
||
58 | geo $iptype { |
||
59 | 0.0.0.0/0 ipv4; |
||
60 | } |
||
61 | |||
62 | |||
63 | server { |
||
64 | ... |
||
65 | location ~* ^/ipv6/work/(login|logout|signup|jobs)/(.*)$ { |
||
66 | if ($iptype) { |
||
67 | return 302 https://no-ipv4-here.ungleich.ch/?back_to=$scheme://$host$uri; |
||
68 | } |
||
69 | proxy_pass https://www-server.ipv6.work/$1/$2; |
||
70 | } |
||
71 | ... |
||
72 | } |
||
73 | |||
74 | 5 | Nico Schottelius | </pre> |
75 | |||
76 | 6 | Nico Schottelius | Checkout our "blog entry about nginx/geo detection":https://ungleich.ch/en-us/cms/blog/2019/01/27/how-to-distinguish-ipv6-and-ipv4-traffic-with-nginx/ |
77 | 1 | Nico Schottelius | for more information about the nginx configuration. |
78 | 3 | Nico Schottelius | |
79 | h3. Changing / Modifying no-ipv4-here.ungleich.ch |
||
80 | |||
81 | If you want to make changes to the website, you can access the source code of it on https://code.ungleich.ch/ungleich-public/ungleich-no-ipv4-here and submit changes to it. |