Ich richte meinen ersten Node.js
Server auf einem ein cloud Linux node
und bin ziemlich neu in den Details von Linux admin
. (Übrigens versuche ich nicht, Apache gleichzeitig zu verwenden.)
Alles ist korrekt installiert, aber ich habe festgestellt, dass ich mit node root login
nicht abhören kann , wenn ich das nicht verwende port 80
. Ich würde es jedoch aus Sicherheitsgründen lieber nicht als root ausführen.
Was ist die beste Vorgehensweise, um:
- Gute Berechtigungen / Benutzer für Knoten festlegen, damit dieser sicher / sandboxed ist?
- Ermöglichen Sie die Verwendung von Port 80 innerhalb dieser Einschränkungen.
- Starten Sie den Knoten und führen Sie ihn automatisch aus.
- Behandeln Sie an die Konsole gesendete Protokollinformationen.
- Alle anderen allgemeinen Wartungs- und Sicherheitsbedenken.
Sollte ich den Verkehr von Port 80 an einen anderen Überwachungsport weiterleiten?
Vielen Dank
quelle
/etc/rc.local
, wird es dann nicht wieroot
beim Systemstart ausgeführt ? Das würde den Zweck der Port 80-Umleitung zunichte machen.Geben Sie dem sicheren Benutzer die Erlaubnis, Port 80 zu verwenden
Denken Sie daran, dass wir Ihre Anwendungen NICHT als Root-Benutzer ausführen möchten, aber es gibt ein Problem: Ihr sicherer Benutzer hat keine Berechtigung zur Verwendung des Standard-HTTP-Ports (80). Ihr Ziel ist es, eine Website zu veröffentlichen, die Besucher verwenden können, indem Sie zu einer benutzerfreundlichen URL wie navigieren
http://ip:port/
Wenn Sie sich nicht als root anmelden, müssen Sie normalerweise eine URL wie
http://ip:port
- verwenden, wobei Portnummer> 1024.Viele Leute stecken hier fest, aber die Lösung ist einfach. Es gibt ein paar Optionen, aber diese ist die, die ich mag. Geben Sie die folgenden Befehle ein:
Wenn Sie einer Knotenanwendung mitteilen, dass sie auf Port 80 ausgeführt werden soll, wird sie sich nicht beschweren.
Überprüfen Sie diesen Referenzlink
quelle
Löschen Sie Root-Berechtigungen, nachdem Sie an Port 80 (oder 443) gebunden haben.
Auf diese Weise bleibt Port 80/443 geschützt, ohne dass Sie Anforderungen als Root bereitstellen können:
Ein voll funktionsfähiges Beispiel mit der obigen Funktion:
Weitere Details finden Sie in dieser vollständigen Referenz .
quelle
Für Port 80 (was die ursprüngliche Frage war) ist Daniel genau richtig. Ich bin kürzlich zu einem Light Nginx Proxy gewechselt
https
und musste von diesem wechselniptables
, der die SSL-Zertifikate verwaltet. Ich fand eine nützliche Antwort zusammen mit einem Kern von gabrielhpugliese, wie man damit umgeht . Grundsätzlich ichErstellt eine SSL Certificate Signing Request (CSR) über OpenSSL
Changed die
location
in/etc/nginx/conf.d/example_ssl.conf
zuFormatierte das Zertifikat für Nginx, indem
cat
die einzelnen Zertifikate zusammengefügt und in meiner Nginx-example_ssl.conf
Datei damit verknüpft wurden (und unkommentierte Inhalte wurden im Namen 'Beispiel' entfernt, ...)Hoffentlich kann das jemand anderem Kopfschmerzen ersparen. Ich bin mir sicher, dass es einen reinen Knoten gibt, aber Nginx war schnell und es hat funktioniert.
quelle