Konfiguruję mój pierwszy Node.js
serwer na cloud Linux node
i jestem dość nowy w szczegółach Linux admin
. (BTW, nie próbuję jednocześnie używać Apache.)
Wszystko jest zainstalowane poprawnie, ale okazało się, że dopóki nie użyję root login
, nie będę mógł nasłuchiwać w port 80
węźle. Jednak wolę nie uruchamiać go jako root ze względów bezpieczeństwa.
Jaka jest najlepsza praktyka:
- Ustaw dobre uprawnienia / użytkownika dla węzła, aby był bezpieczny / w trybie piaskownicy?
- Zezwól na użycie portu 80 w tych ograniczeniach.
- Uruchom węzeł i uruchom go automatycznie.
- Obsługa informacji dziennika wysłanych do konsoli.
- Wszelkie inne ogólne problemy związane z konserwacją i bezpieczeństwem.
Czy powinienem przekierowywać ruch z portu 80 do innego portu nasłuchującego?
Dzięki
/etc/rc.local
, czy nie będzie on wykonywany jakroot
podczas uruchamiania systemu? To pokonałoby cel przekierowania portu 80.Zezwól bezpiecznemu użytkownikowi na korzystanie z portu 80
Pamiętaj, że NIE chcemy uruchamiać twoich aplikacji jako użytkownik root, ale jest pewien problem: twój bezpieczny użytkownik nie ma uprawnień do korzystania z domyślnego portu HTTP (80). Twoim celem jest opublikowanie witryny internetowej, z której użytkownicy mogą korzystać, przechodząc do łatwego w użyciu adresu URL, takiego jak
http://ip:port/
Niestety, chyba że zalogujesz się jako root, zwykle będziesz musiał użyć adresu URL typu
http://ip:port
- gdzie numer portu> 1024.Utknęło tu wiele osób, ale rozwiązanie jest łatwe. Jest kilka opcji, ale to mi się podoba. Wpisz następujące polecenia:
Teraz, gdy powiesz aplikacji Node, że chcesz, aby działała na porcie 80, nie będzie narzekać.
Sprawdź ten link referencyjny
źródło
Porzuć uprawnienia roota po powiązaniu z portem 80 (lub 443).
Pozwala to na ochronę portu 80/443, a jednocześnie uniemożliwia wyświetlanie żądań jako root:
Pełny działający przykład przy użyciu powyższej funkcji:
Zobacz więcej szczegółów pod tym pełnym odniesieniem .
źródło
W przypadku portu 80 (które było pierwotnym pytaniem) Daniel ma dokładnie rację. Niedawno przeprowadziłem się
https
i musiałem przełączyćiptables
się na lekki serwer proxy Nginx zarządzający certyfikatami SSL. Znalazłem użyteczną odpowiedź wraz z GIST przez gabrielhpugliese , w jaki sposób sobie z tym poradzić. Zasadniczo jaUtworzono żądanie podpisania certyfikatu SSL (CSR) za pośrednictwem OpenSSL
Zmieniono
location
w/etc/nginx/conf.d/example_ssl.conf
naSformatowałem certyfikat dla nginx,
cat
łącząc poszczególne certyfikaty razem i łącząc się z nim w moimexample_ssl.conf
pliku nginx (i niekomentowanych rzeczach, pozbyłem się „przykładu” w nazwie ...)Mam nadzieję, że uratuje to komuś ból głowy. Jestem pewien, że jest na to sposób z czystym węzłem, ale nginx był szybki i działał.
źródło