У меня есть настройка приложения 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
.
По ссылке
Мне удалось перенаправить все свои запросы с 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
запросы как незащищенные, тогда у вас может быть более конкретное ограничение.