Ответ 1
Вы можете сделать это на уровне прокси или на уровне приложения. Чтобы сделать это на уровне приложения:
# config/environments/production.rb
...
config.force_ssl = true
...
Я использовал пассажир отдельно для своего приложения. в настоящее время мое приложение работает как на http, так и на https. Я хочу перенаправить все HTTP-запросы на https. В моем приложении я использовал балансировку нагрузки. Я прочитал эти статьи
https://aws.amazon.com/premiumsupport/knowledge-center/redirect-http-https-elb/
https://www.phusionpassenger.com/library/config/standalone/intro.html#nginx-configuration-template
Я пробовал эти 2 метода
1)
if ($http_x_forwarded_proto = "http") {
return 301 https://$host$request_uri;
}
2)
if ($http_x_forwarded_proto != "https") {
rewrite ^(.*)$ https://$server_name$REQUEST_URI permanent;
}
Я пробовал весь процесс таким же образом. но каждый раз, когда он переходит в бесконечный цикл, и до того, как я запускаю пассажир, экземпляр завершает себя и создает новый экземпляр из-за слишком большого времени ожидания запроса.
Я не могу понять, является ли это вопрос о балансировке эластичной нагрузки или конфигурации пассажира. Я думаю, когда я останавливаю пассажира и пользователь пытается получить доступ к приложению. время ожидания запроса и создание нового экземпляра. я не уверен.
Заранее спасибо:)
Вы можете сделать это на уровне прокси или на уровне приложения. Чтобы сделать это на уровне приложения:
# config/environments/production.rb
...
config.force_ssl = true
...
Я надеюсь, что все ваши сертификаты установлены правильно и указывают на правильный путь. Если не проверить приведенную ниже конфигурацию
Passenger.json
{
"environment": "production",
"instance_registry_dir": "/var/run/passenger-instreg",
"daemonize": true,
"user": "myappuser",
"port": 443,
"ssl": true,
"ssl_certificate": "/path/to/ssl_cert.pem",
"ssl_certificate_key": "/path/to/ssl_key.pem",
"nginx_config_template": "/path/to/nginx.conf.erb"
}
Вам нужно использовать ту же конфигурацию, которую вы используете для nginx для перенаправления с http на https
http {
server_tokens off;
server {
listen 80 default_server;
listen [::]:80 default_server;
# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}
Последняя ссылка
Вот конфигурация автономного пассажира для перенаправления с http на https last_link
Пожалуйста, обратитесь к ссылка