Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Package.json e impostazioni per SSL

Proseguiamo con l'implementazione del nostro progetto basato sulle REST API di WooCommerce. In questa parte ci occuperemo della scrittura del Package.json e delle impostazioni per SSL
Proseguiamo con l'implementazione del nostro progetto basato sulle REST API di WooCommerce. In questa parte ci occuperemo della scrittura del Package.json e delle impostazioni per SSL
Link copiato negli appunti

Il file package.json

I moduli fondamentali sono ExpressJS e WooCommerce. Gli altri servono unicamente ad implementare le funzioni accessorie della nostra App, come ad esempio l'autenticazione.

{
  "name": "WCNode",
  "version": "1.0.0",
  "description": "WCNode",
  "author": "Nome Cognome <account@sito.com>",
  "dependencies": {
  "body-parser": "^1.17.2",
  "cookie-parser": "^1.4.1",
  "ejs": "^2.5.6",
  "express": "^4.15.3",
  "helmet": "^2.1.1",
  "serve-favicon": "^2.4.3"
  "woocommerce": "^2.4.0"
},
  "license": "MIT"
}

A questo punto installiamo i moduli:

npm install

Impostazioni per SSL

Creiamo un nuovo set di regole per nginx dopo aver acquisito privilegi di root (sudo -i e quindi nano /etc/nginx/sites-available/wcnode):

upstream wcnode {
 server 127.0.0.1:3000;
 }
server {
listen 80;
server_name wcnode.sito.com;
root /home/wcnode/www;
index index.html;
client_max_body_size 8m;
location / {
  try_files $uri @wcnode;
}
location @wcnode {
  proxy_pass https://wcnode;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
}
}

A questo punto abilitiamo il nuovo set di regole:

ln -s /etc/nginx/sites-available/wcnode /etc/nginx/sites-enabled/wcnode

Se non avete già installato il tool di Let's Encrypt potete farlo come segue. Per prima cosa aggiungete la repository:

add-apt-repository ppa:certbot/certbot

Quindi aggiornate l'elenco dei pacchetti:

apt-get update

Infine installate Certbot:

apt-get install python-certbot-nginx

Prima di riavviare nginx, otteniamo un certificato SSL da Let's Encrypt:

certbot --nginx -d wcnode.sito.com

Scegliamo l'opzione 2 durante l'installazione in modo da avere il redirect SSL inserito nel nostro set di regole.

A questo punto copiamo i file del certificato nella directory della nostra App:

cp /etc/letsencrypt/live/wcnode.sito.com/fullchain.pem > /home/wcnode/app/fullchain.pem && chown wcnode:wcnode /home/wcnode/app/fullchain.pem
cp /etc/letsencrypt/live/wcnode.site.com/privkey.pem > /home/wcnode/app/privkey.pem && chown wcnode:wcnode /home/wcnode/app/privkey.pem

Ora dobbiamo creare un nuovo servizio per systemd in modo che l'applicazione sopravviva e sia live al reboot. Digitiamo nano /etc/systemd/system/wcnode.service e inseriamo i seguenti contenuti:

[Service]
    WorkingDirectory=/home/wcnode/app
    ExecStart=/usr/local/bin/node app.js
    Restart=always
    StandardOutput=syslog
    StandardError=syslog
    SyslogIdentifier=wcnode
    User=wcnode
    Group=wcnode
    Environment=NODE_ENV=production                                                                                                                                                                     
    [Install]
    WantedBy=multi-user.target

A questo punto abilitiamo il servizio:

systemctl enable wcnode

E lo avviamo:

systemctl start wcnode

Solo ora testiamo la configurazione di nginx:

nginx -t

Se è tutto corretto, riavviamo:

systemctl restart nginx

Ti consigliamo anche