Ich habe eine Rails App, die ich auf Heroku gebaut hatte und ich hatte es konfiguriert, SSL dort zu verwenden. Jetzt wechsle ich zu AWS EC2 und möchte, dass eine Version meiner App ohne SSL funktioniert. Sobald dies erledigt ist, werde ich die SSL-Funktionalität später hinzufügen.Rails: Warum leitet mein Server HTTP auf HTTPS
Mein Stack ist Puma + Nginx + PostgreSQL und ich arbeite mit Rails 4.2.4, Ruby 2.2.3 und Capistrano 3.4.0.
Ich erinnere mich, in meiner app, dass ich einmal die Linie
config.force_ssl = true
in config/Umgebungen/production.rb eingefügt hatte. Ich habe dies auskommentiert und erwartet, dass meine App wieder gut mit http funktioniert. Aber selbst nach dem Kommentieren dieser Zeile wird die Anfrage bei jedem Besuch meiner öffentlichen EC2-IP (52.35.82.113) auf Port 80 (http) gesendet und auf Port 443 (https) umgeleitet.
Dies kann deutlich gesehen werden, wenn ich curl -v http://localhost
auf meine EC2-Instanz führen Sie es zurück:
* Rebuilt URL to: http://localhost/
* Hostname was NOT found in DNS cache
* Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 80 (#0)
> GET/HTTP/1.1
> User-Agent: curl/7.35.0
> Host: localhost
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
* Server nginx/1.4.6 (Ubuntu) is not blacklisted
< Server: nginx/1.4.6 (Ubuntu)
< Date: Sat, 12 Dec 2015 12:22:56 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Location: https://localhost/
<
* Connection #0 to host localhost left intact
Ich bin nicht sehr erfahren, wenn es um diese Dinge geht. Ich dachte anfangs, dass das Problem mit meiner Nginx-Konfiguration wäre, in meiner vorherigen Frage here wurde mir vorgeschlagen, dass nichts mit meiner Nginx-Konfiguration falsch war und dass die Weiterleitung von Rails kam. Ich vermute, dass dies der Fall ist, da ich in Nginx nichts sehen kann, was die Weiterleitung erzwingen könnte, aber wenn Sie denken, dass das Problem da sein könnte, dann können Sie eine Menge des relevanten Codes im obigen Link sehen.
Was sonst in Rails abgesehen von dem oben gedruckten force_ssl könnte die Umleitung verursachen?
Vielen Dank für Ihre Hilfe. Lassen Sie mich wissen, wenn Sie Fragen haben oder weitere Informationen benötigen!
Ändern Ich denke, auf nginx Konfiguration Sie die Kraft ssl getan haben. – Emu
Haben Sie Ihren Puma Server jemals neu gestartet? – Tobias
Hallo @ Tobias. Ja, ich benutze 'ps', um die Prozess-ID zu finden und starte sie mit' kill -s SIGUSR2 ' –
Dennis