2012-04-04 5 views
2

Ich habe eine Rails-Anwendung, die einige URLs enthält, die mit HTTPS/SSL gesichert werden müssen und einige, die über HTTP zugänglich sein müssen.Running HTTP und HTTPS Seite-an-Seite in Rails (lokale) Entwicklungsumgebung

Ich verwende Thin, und das Starten mit dem Flag --ssl bedeutet, dass es nur HTTPS unterstützt, und alle HTTP-Anfragen werden nicht behandelt. Ich verwende force_ssl, um SSL für bestimmte URLs zu erzwingen. Soweit ich es verstehe, muss ich Apache irgendwie modifizieren.

Wie kann ich sowohl HTTP als auch HTTPS in meiner (lokalen) Entwicklungsumgebung arbeiten lassen?

Antwort

1

Wie ich mich erinnere, ist es nicht möglich, https und http auf einer Website laufen zu lassen - zunächst hören sie auf verschiedene Ports, so dass Sie praktisch Ihre Inhalte in zwei verschiedene Teile teilen, eine für die http Website und die andere für die https. Sie können beide Sites auf dieselbe Anwendung verweisen (daher ist das Home-Verzeichnis für beide identisch), aber Sie müssen sehr vorsichtig sein, wenn Sie sicherstellen, dass Sie nur über HTTPS auf die gesicherten Dateien zugreifen Es wäre sehr leicht, versehentlich ein Sicherheitsproblem einzuführen. Der Vorteil besteht darin, dass Ihre Assets an beiden Standorten verfügbar sein können, sodass Sie nicht über ungesicherte Inhalte in einem gesicherten Bereich gewarnt werden müssen. Wenn Sie genug Sicherheit benötigen, um HTTPS zu rechtfertigen, dann sollten Sie sich der Risiken bewusst sein, die zwei Arten des Zugriffs auf einen einzelnen Standort mit sich bringen. Auch, wenn ich mich erinnere (und es ist ein paar Jahre, seit ich damit gearbeitet habe, damit mich jemand korrigieren wird), wird keine der clientseitigen Authentifizierungen zwischen dem regulären und dem sicheren Bereich beibehalten, da der Browser sie als zwei verschiedene Seiten ansieht .

Configuring Apache to serve HTTP and HTTPS for the same address