Hostwinds Tutorials
Suchergebnisse für:
Inhaltsverzeichnis
Stichworte: Cloud Servers, SSL, VPS
Nginx ist ein leistungsstarkes Werkzeug. Sie können mehrere Apps, Websites, lastbalancierte Anwendungen und vieles mehr bedienen. Diese Flexibilität ist alles mit einem relativ einfachen Konfigurationssystem, das nahezu-human-lesbare Konfigurationsdateien verwendet. Dieser Anleitung zeigt, wie Sie einen NginX-Reverse-Proxy mit SSL auf a einrichten Hostwinds Cloud VPS.
Dieser Anleitung übernimmt ein allgemeines Verständnis für das Verwenden eines Linux-basierten Systems über die Befehlszeile und übernimmt die folgenden Voraussetzungen weiter:
Das Nginx-vollständige Paket verwendet standardmäßig eine dynamische Shared Virtual Host-Umgebung. Die Konfigurationsdateien für jeden virtuellen Host können hier verwendet werden:
/etc/nginx/sites-available/
An diesem Speicherort wird eine Datei namens aufgerufen Standard zur Verfügung, um als Basisvorlage zu verwenden. Wir erstellen jedoch manuell eine neue Konfigurationsdatei in diesem Handbuch und füllen sie nach Bedarf aus. Einmal als Nicht-Root-Benutzer angemeldet, geben Sie diesen Befehl aus, um den Prozess zu starten:
sudo touch /etc/nginx/sites-available/domain.tld
Achten Sie darauf, zu ersetzen domain-tld. mit der Domain, die Sie tatsächlich verwenden.
Als Nächstes ändern wir, um diese Datei zu ändern, um die Aufgaben auszuführen, die wir benötigen. Wir werden benutzen vim in dieser Anleitung als Texteditor. Sie können verwenden Nano oder einen anderen Texteditor, der Ihren persönlichen Vorlieben entspricht.
sudo vim /etc/nginx/sites-available/domain.tld
Da die Datei jetzt existiert, fügen Sie dieser Datei den folgenden Text hinzu. Ändern Sie den angegebenen Text, der an Ihre Domäne angezeigt wird, wobei der Anschluss Ihre App verwendet, und Ihre SSL-Zertifikatpfade. Diese Datei ist die Hauptkonfiguration für den umgekehrten Proxy:
###
# This Section listens on port 80 for your domain and rewrites the request
# to HTTPS for us
###
server {
listen 80;
server_name domain.tld www.domain.tld; # Edit this to your domain name
rewrite ^ https://$host$request_uri permanent;
}
###
# This is all the configuration declarations that help SSL Function.
###
server {
listen 443 ssl;
server_name domain.tld;
# Edit this to your domain name
ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem;
# If you use Lets Encrypt, you should just need to change the domain.
ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem;
# If you use Let's Encrypt, you should just need to change the domain.
ssl_session_cache builtin:1000 shared:SSL:10m;
# Defining option to share SSL Connection with Passed Proxy
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# Defining used protocol versions.
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
# Defining ciphers to use.
ssl_prefer_server_ciphers on;
# Enabling ciphers
access_log /var/log/nginx/access.log;
# Log Location. Can be anywhere. Make sure the nginx user defined in /etc/nginx/nginx.conf has r/w permissions
###
# This is the juicey part of the config file, handing off relevant data to
# our back-end app running on port 3000
# Nothing should need to be changed here, unless port 3000 is not the port
# you're using.
# Furthermore, if you're using a socket to serve your app (PHP comes to
# mind), you can define a unix:.sock location here as well
###
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:3000;
proxy_read_timeout 90;
}
}
Speichern Sie die Datei und beenden Sie den Texteditor.
Nachdem die Konfiguration erstellt wurde, müssen wir Nginx anweisen, beim Laden nach der Datei zu suchen. Wir werden eine symbolische Verbindung herstellen:
sudo ln -s /etc/nginx/sites-avaialable/domain.tld /etc/nginx/sites-enabled/domain.tld.conf
Als Nächstes testen wir die Konfiguration, bevor wir den Nginx-Systemdienst neu starten
sudo nginx -t
Anschließend sollte der Test ausgeführt und bei Erfolg die folgende Meldung ausgegeben werden:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Wir wissen jetzt, dass die Konfigurationsdatei keinen Absturz verursacht, also starten wir den NginX-Dienst neu und testen Sie die App.
sudo systemctl restart nginx
Sie sollten jetzt Zugriff auf die App haben, die auf dem definierten Anschluss läuft, indem Sie mit dem Surfen auf den definierten Port läuft domain-tld. wie in der zuvor erstellten Nginx-Konfigurationsdatei dargestellt.
Geschrieben von Hostwinds Team / Juni 14, 2019