Skip to content

Upstream lookup returns IPv6 address on Alpine #374

@codefrau

Description

@codefrau

Using this (partial) configuration:

 resolver 8.8.8.8 valid=300s ipv6=off; resolver_timeout 10s; upstream gs { server storage.googleapis.com:443; keepalive 128; } server { location / { proxy_set_header Host storage.googleapis.com; proxy_pass https://gs/$bucket_name$uri; proxy_http_version 1.1; proxy_set_header Connection ""; } } 

on nginx:1.17-alpine getting errors:

*758 connect() to [2a00:1450:4001:824::2010]:443 failed (101: Network unreachable) while connecting to upstream, client: 10.12.0.1, server: , request: "GET / HTTP/1.1", upstream: "https://[2a00:1450:4001:824::2010]:443/example.com/index.html", host: "10.156.0.15" *758 upstream server temporarily disabled while connecting to upstream, client: 10.12.0.1, server: , request: "GET / HTTP/1.1", upstream: "https://[2a00:1450:4001:824::2010]:443/example.com/index.html", host: "10.156.0.15" 

The proxying did still work, apparently it was getting both IPv4 and IPv6 addresses, successfully using the IPv4 ones.

This is while running on Google's Kubernetes Engine (GKE) which does not support IPv6 networking.

Switching to nginx:1.17 made the errors disappear, so I assume the Alpine setup is missing something the Debian setup does.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions