Назад | Перейти на главную страницу

перенаправление с не-www на www с https на эластичном beanstalk, используя nginx для приложения ruby ​​on rail

У меня есть настройка приложения ruby ​​on rails на эластичном beanstalk AWS с использованием nginx и puma, мое требование - перенаправить все мои запросы из http://example.com или http://www.example.com или https://example.com к https://www.example.com. Также я не хочу, чтобы запросы с моих поддоменов перенаправлялись на www, как будто я не хочу http://subdomain.example.com быть перенаправленным на https://www.expample.com или https://www.subdomain.example.com.

По ссылке

https://stackoverflow.com/questions/24297375/how-to-get-elastic-beanstalk-nginx-backed-proxy-server-to-auto-redirect-from-htt

Мне удалось перенаправить все свои запросы с http на https, но это не перенаправляет запросы без www на запросы www.

Я делаю это в моем routes.rb файл:

# Redirect example.com => www.example.com
constraints(host: /^example\.com/i) do
  match "/(*path)" => redirect { |params, _req| "https://www.example.com/#{params[:path]}" }, via: [:get, :post]
end

Это будет как для незащищенных, так и для безопасных подключений к https, но если вам действительно нужно сохранить http запросы как незащищенные, тогда у вас может быть более конкретное ограничение.