Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(docker): add missing ipv6 all-interfaces binding #8438

Merged
merged 2 commits into from
Mar 6, 2023

Conversation

Southclaws
Copy link
Contributor

Resolves #8437

Motivation and Context

See the above linked issue and related Fly.io forum post for details.

Checklist

My PR contains...

  • No code changes (src/ is unmodified: changes to documentation, CI, metadata, etc.)
  • Dependency changes (any modification to dependencies in package.json)
  • Bug fixes (non-breaking change which fixes an issue)
  • Improvements (misc. changes to existing features)
  • Features (non-breaking change which adds functionality)

My changes...

  • are breaking changes to a public API (config options, System API, major UI change, etc).
  • are breaking changes to a private API (Redux, component props, utility functions, etc.).
  • are breaking changes to a developer API (npm script behavior changes, new dev system dependencies, etc).
  • are not breaking changes.

Documentation

  • My changes do not require a change to the project documentation.
  • My changes require a change to the project documentation.
  • If yes to above: I have updated the documentation accordingly.

Automated tests

  • My changes can not or do not need to be tested.
  • My changes can and should be tested by unit and/or integration tests.
  • If yes to above: I have added tests to cover my changes.
  • If yes to above: I have taken care to cover edge cases in my tests.
  • All new and existing tests passed.

@char0n
Copy link
Member

char0n commented Mar 6, 2023

Hi @Southclaws,

Thanks for the PR!

Here are some of my research notes:

NOTE1:

As of Nov. 2021 with Nginx latest (from the official repo) e.g. on Ubuntu 18.04 or 20.04, for regular (=not the default) Nginx vhosts this is what works for both IPv4 & IPv6 traffic:

listen [::]:80;

NOTE2:

starting with Nginx 1.3.4, the ipv6only parameter defaults to on, as we don't want to translate ipv4 to ipv6

sed -i "s|8080|${PORT}|g" $NGINX_CONF
will properly replace the port for ipv6 as well.

Resources:

@char0n char0n self-assigned this Mar 6, 2023
@char0n char0n self-requested a review March 6, 2023 14:53
@char0n char0n added type: enhancement version: 4.x docker Pull requests that update Docker code labels Mar 6, 2023
Copy link
Member

@char0n char0n left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thank you for contributing.

@char0n char0n merged commit 51b45e7 into swagger-api:master Mar 6, 2023
@char0n
Copy link
Member

char0n commented Mar 6, 2023

I can confirm that the change worked locally with following commands:

$ docker build . -t swagger-api/swagger-ui:latest
$ docker run -p 80:8080 swagger-api/swagger-ui:latest

And opening http://localhost:80 in my browser.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docker Pull requests that update Docker code type: enhancement version: 4.x
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Docker nginx config only binds to ipv4 not ipv6
2 participants