Hostwinds Tutorial
Cerca risultati per:
Sommario
Tag: Cloud Servers, SSL, VPS
Nginx è un potente strumento. Ti consente di servire più app, siti Web, applicazioni bilanciate dal carico e molto altro. Questa flessibilità è tutto alimentata da un sistema di configurazione relativamente semplice che utilizza file di configurazione leggibili da quasi umani. Questa guida dimostrerà come impostare un proxy inverso nginx con SSL su A Hostwinds Cloud VPS.
Questa guida assumerà una comprensione generale di utilizzare un sistema basato su Linux tramite la riga di comando e assumerà ulteriormente i seguenti prerequisiti:
Il pacchetto completo di Nginx utilizza per impostazione predefinita un ambiente host virtuale condiviso dinamico. I file di configurazione per ogni host virtuale sono disponibili per l'uso qui:
/etc/nginx/sites-available/
Questa posizione avrà un file chiamato predefinita Disponibile per l'uso come modello di base. Tuttavia, creeremo manualmente un nuovo file di configurazione in questa Guida e lo farmo popolare secondo necessità. Una volta effettuato l'accesso come utente non root, emesso questo comando per avviare il processo:
sudo touch /etc/nginx/sites-available/domain.tld
Assicurati di sostituire Domain-TLD. con il dominio che stai effettivamente utilizzando.
Successivamente, spostiamo per modificare quel file per eseguire le attività che abbiamo bisogno da fare. Usereremo vim in questa guida come editor di testo. Puoi usare nano o qualsiasi altro editor di testo in base alle tue preferenze personali.
sudo vim /etc/nginx/sites-available/domain.tld
Ora che il file esiste aggiungi il seguente testo a questo file. Modificare il testo indicato per fare riferimento al tuo dominio, la porta L'app utilizza e i percorsi del certificato SSL. Questo file sarà la configurazione principale per il proxy inversa:
###
# 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;
}
}
Salva il file e esci dall'editor di testo.
Ora che la configurazione è stata creata, dobbiamo dire a Nginx di controllare il file al caricamento. Faremo un collegamento simbolico:
sudo ln -s /etc/nginx/sites-avaialable/domain.tld /etc/nginx/sites-enabled/domain.tld.conf
Successivamente, testiamo la configurazione prima di riavviare il servizio di sistema Nginx
sudo nginx -t
Successivamente, dovrebbe eseguire il test e visualizzare il seguente messaggio in caso di esito positivo:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ora sappiamo che il file di configurazione non causerà un arresto anomalo, quindi riavvia il servizio Nginx e testare l'app.
sudo systemctl restart nginx
Ora dovresti avere accesso all'app che funziona sulla porta definita navigando verso il Domain-TLD. come illustrato nel file di configurazione Nginx creato in precedenza.
Scritto da Hostwinds Team / giugno 14, 2019