Korzystam z frameworka express (3.0) na węźle node.js do kierowania moją aplikacją.Express (node.js) przy użyciu HTTPS i HTTP
Większość moich aplikacji korzysta z protokołu http
, ale istnieje jedna konkretna trasa, którą chcę obsłużyć tylko przez https
. To jest część mojego API, która jest odpowiedzialna za rejestrację i uwierzytelnianie użytkowników.
na przykład:
app.get('/connect', function(req, res){
// Must be on HTTPS, if not redirect to HTTPS
});
app.post('/connect', function(req, res){
// Must be on HTTPS
});
app.get('/', function(req, res){
// Must be on HTTP
});
app.get('/build', function(req, res){
// Must be on HTTP
});
jaki sposób można ułatwić stosując zarówno w obrębie tej samej aplikacji? Próbuję znaleźć przykłady tego na wolności.
W tym przypadku, jak radzisz sobie z przypadkami, w których potrzebujesz różnych stosów oprogramowania pośredniego do bezpiecznych i niezabezpieczonych żądań? Podobnie jak w przypadku niezabezpieczonego, nie potrzebuję narzutów związanych z zarządzaniem sesjami, ale potrzebuję bezpieczeństwa. – Chandu
Dzięki temu jest bardzo przydatna, jedyną rzeczą, która powstrzymuje mnie od używania HTTPS wszędzie jest napowietrzenie, jest to intensywnie działająca aplikacja internetowa, która wykonuje wiele wywołań API i coś takiego staje się bardzo zauważalne. Myślę, że jeśli użytkownik naruszył własny system z takim oprogramowaniem, to jest to coś, czego nie jestem w stanie ich obronić. –
@GeorgeReith: Czy faktycznie mierzyłeś narzut? W nowoczesnych systemach obciążenie SSL wynosi <1% CPU. W rzeczywistości, dzięki optymalizacji, takiej jak SPDY, może się okazać, że połączenie zabezpieczone za pomocą protokołu SSL faktycznie działa * lepiej * niż zwykły HTTP. Byłbym skłonny postawić zakład, że w rzeczywistości nie można zauważyć ** żadnej ** negatywnej różnicy w wydajności. Ponadto przechwytywanie sesji (kradzież plików cookie do logowania) jest pasywnym atakiem sieciowym; nie ma nic wspólnego ze skompromitowanym komputerem użytkownika. (Właśnie dlatego Facebook jest teraz wszystkim protokołem HTTPS.) W 2013 r. Nie ma wymówki, aby nie używać wszystkich protokołów SSL (i HSTS). – josh3736