У меня есть следующий фрагмент, который отлично работает на Heroku (производство) для принудительного применения SSL:
# /config/routes.rb
scope protocol: 'https://', constraints: { protocol: 'https://' } do
resource :user
resource :session
end
Я пытаюсь настроить машину разработки с использованием NGINX и пассажиров с SSL, однако получаю:1004 *
Action Controller: Exception
No Route Matches [GET] "/session/new"
Я получаю зеленый SSL в Chrome при просмотре других разделов приложения с помощью HTTPS, поэтому кажется, что SSL работает.По какой-то причине принудительное применение маршрутов не соответствует правильно, хотя.Мой nginx.conf
:
worker_processes 4;
events {
worker_connections 1024;
}
http {
gzip on;
sendfile on;
include mime.types;
ssl_certificate cert.crt;
ssl_certificate_key cert.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
keepalive_timeout 60;
rack_env development;
passenger_user kevin;
passenger_root /Users/kevin/.rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.9;
passenger_ruby /Users/kevin/.rvm/wrappers/default/ruby;
server {
listen 80;
listen 443 ssl;
server_name local.demo;
location / {
root /Users/kevin/Sites/demo/public;
passenger_enabled on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-Proto https;
}
}
}
Есть идеи как это исправить?