Мы используем рельсы для одного из наших приложений. Существует также приложение для iOS, которое использует серверные рельсы для аутентификации пользователей и других операций. Поскольку Apple требуются приложения для поддержки iPv6, мне было интересно, как лучше конвертировать мой сервер рельсов, который упакован с помощью Docker и развернут с использованием Amazon ECS, чтобы обеспечить поддержку iPv6.
Что касается части рельсов, мне удалось загрузить бэкэнд рельсов для прослушивания как iPv4, так и iPv6. Вот копия моего Dockerfile, используемого для загрузки контейнера.
FROM ruby:2.4.1
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
nodejs cron postgresql-client-9.4 dos2unix
ENV APP_HOME /my_app
RUN mkdir $APP_HOME
WORKDIR $APP_HOME
RUN echo 'gem: --no-rdoc --no-ri' >> "$HOME/.gemrc"
RUN gem install bundler
ADD Gemfile $APP_HOME/Gemfile
ADD Gemfile.lock $APP_HOME/Gemfile.lock
RUN bundle install
ADD . $APP_HOME
RUN find . -type f -print0 | xargs -0 dos2unix
RUN apt-get clean && rm -rf /car/lib/apt/lists/* /tmp/* /var/tmp/* &&
apt-get --purge remove -y dos2unix
EXPOSE 80
# Boot the server
CMD echo env
CMD rake build
#this is how I was booting the server for only iPv4
#CMD bundle install && rails s -b '0.0.0.0' -p 80
#booting for both iPv4 and iPv6
CMD bundle install && rails s -b [::] -p 80
Пока я посмотрел эти ссылки:
https://developer.apple.com/library/archive/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html
https://docs.docker.com/v17.09/engine/tutorials/networkingcontainers/
https://blog.cloudflare.com/supporting-the-transition-to-ipv6-only-networking-services-for-ios/
Но ничего особенного, и я совершенно заблудился о том, что может быть другими важными шагами, чтобы заставить все это работать.
Буду признателен за любую помощь.