Hello Steve,<div><br></div><div>• Best answer is try and see if it meets your expectations; thanks</div><div><br></div><div>• While reading your snippet, my initial questions are — Why 2 servers? Why not simplify?</div><div><br></div><div>• In your proposal: server1, listen to ?? TCP port(s) on public IPv4, and IPv6 to proxy_pass to server2, then server2 listen on public IPv6, and IPv4 to proxy_pass to subdomain, with upstream (perhaps for load balance and/or failover?) — As you agree, this is slightly complicated</div><div><br></div><div>• Why not simplify? — Reconfigure DNS for cname-server1 to server2, for IPv4 and IPv6</div><div><br></div><div>• In your snippet, server2 supports IPv4 and IPv6 if you expect it to upstream via private IPv4 127.0.0.1:[…]</div><div><br></div><div>• I don't fully understand why server2 upstream isn't IPv6 ::1:[…] considering your primary intent for server2 is IPv6 usage</div><div><br></div><div>• Perhaps you meant upstream localhost:[…] to try both IPv4 and IPv6? Thanks</div><div><br></div>Cheers,<div>Lloyd<br><div><div><br>On Friday, January 30, 2015, Steve Wilson <<a href="mailto:lists-nginx@swsystem.co.uk">lists-nginx@swsystem.co.uk</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
Slightly complicated setup with 2 nginx servers.<br>
<br>
server1 has a public ipv4 address using proxy_pass to server2 over ipv6 which only has a public ipv6, this then has various upstreams for each subdomain.<br>
<br>
ipv6 capable browsers connect directly to server2, those with only ipv4 will connect via server1.<br>
<br>
I'm currently considering something like the below config.<br>
<br>
<br>
server1 - proxy all subdomain requests to upstream ipv6 server:<br>
<br>
http {<br>
 server_name *.<a href="http://example.com" target="_blank">example.com</a>;<br>
 location / {<br>
  proxy_pass http://fe80::1337;<br>
 }<br>
}<br>
<br>
server2:<br>
<br>
http {<br>
 server_name ~^(?<subdomain>\w+)\.example\.<u></u>com$;<br>
 location / {<br>
  proxy_pass http://$subdomain<br>
 }<br>
<br>
 upstream subdomain1 {<br>
  server <a href="http://127.0.0.1:1234" target="_blank">127.0.0.1:1234</a>;<br>
 }<br>
}<br>
<br>
The theory here is that each subdomain and upstream would match, meaning that when adding another upstream it would just need the upstream{} block configuring and automatically work.<br>
<br>
I realise there's dns stuff etc but that's out of scope for this list and I can deal with that.<br>
<br>
Does this seem sound? It's not going to see major usage but hopefully this will reduce work when adding new upstreams.<br>
<br>
If you've a better way to achieve this please let me know.<br>
<br>
Steve.<br>
<br>
______________________________<u></u>_________________<br>
nginx mailing list<br>
<a>nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/<u></u>mailman/listinfo/nginx</a><br>
</blockquote></div></div></div>