1) создать файл myapp.conf
с этим содержимым:
server {
listen 443;
client_max_body_size 2048M;
client_body_buffer_size 2048M;
disable_symlinks off;
server_name yourdomain.com www.yourdomain.com;
root /opt/somefolder/myapp/public; # or remove it
index index.html index.htm;
ssl on;
ssl_certificate /opt/somefolder/myapp/certs/server.crt;
ssl_certificate_key /opt/somefolder/myapp/certs/server.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_session_cache shared:SSL:1m;
location @app {
log_not_found off;
access_log off;
proxy_pass https://127.0.0.1:8443;
proxy_http_version 1.1;
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_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
}
location/{
try_files $uri $uri/ @app;
}
}
2) скопировать или символическая myapp.conf
файл /etc/nginx/sites-enabled/myapp.conf
3) в nodejs приложение слушающих https:
var
express = require('express'),
https = require('https'),
fs = require('fs'),
path = require('path'),
app = express();
var httpsServer =
https.createServer({
key: fs.readFileSync(path.join(__dirname, 'certs', 'server.key')),
cert: fs.readFileSync(path.join(__dirname, 'certs', 'server.crt'))
}, app);
httpsServer.listen(8443, '127.0.0.1', function() {
console.log('App listening');
});
4) перезапуск nginx
5) начало приложение, использующее forever
или pm2
Я немного неясен на прокси_pass: https://127.0.0.1:8443; В данный момент мой сервер прослушивает 5505. Могу ли я просто настроить его? – shanwar
уверен, я приводил пример, это не строго: «должно быть сделано так». имейте в виду, что nginx будет обрабатывать запросы на 443, а прокси-сервер - на 5505, поэтому ваш api или etc на узле должен быть запрошен без: 5505 – num8er
@shanwar работает сейчас, как вы хотите? (: – num8er