Nginx proxy_pass с узлом и SSL - PullRequest
       0

Nginx proxy_pass с узлом и SSL

0 голосов
/ 26 октября 2018

Мне удалось настроить HTTPS с помощью Nginx на сервере Node на localhost:4000, поместив пути к сертификатам и ключам в файл conf Nginx, однако я также хотел бы понять, как встроить сертификат ssl в индекс узлафайл .js и просто передайте адрес прокси в localhost:4000 с сертификатами внутри приложения, а не в файл nginx.conf.

Этот файл nginx.conf будет корректно работать с https / ssl после того, как узелне обслуживается как ssl.

server {
  listen 4500 ssl;
  server_name example.com;

  ssl_certificate           /etc/letsencrypt/live/example.com/fullchain.pem;
  ssl_certificate_key       /etc/letsencrypt/live/example.com/privkey.pem;

  access_log            /var/log/nginx/example.com.access.log;

  location / {
    proxy_pass http://localhost:4000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}

Однако, если я закомментирую следующее nginx.conf

#    ssl_certificate           /etc/letsencrypt/live/api.ballers.ie/fullchain.pem;
#    ssl_certificate_key       /etc/letsencrypt/live/api.ballers.ie/privkey.pem;

, а затем добавлю сертификаты на мой сервер узлов следующим образом,говорит мне, что сайт не может быть достигнут.

// ...
// dependencies & config
// ...

const privateKey = fs.readFileSync('/etc/letsencrypt/live/example.com.privkey.pem', 'utf8');
const certificate = fs.readFileSync('/etc/letsencrypt/live/example.com.cert.pem', 'utf8');
const ca = fs.readFileSync('/etc/letsencrypt/live/example.com.chain.pem', 'utf8');

const credentials = {
  key: privateKey,
  cert: certificate,
  ca,
};

const httpsServer = https.createServer(credentials, app);

app.get('*', (req, res) => {
  res.send('I am a HTTPS endpoint !');
});

httpsServer.listen(4000);

Я также попытался изменить proxy_pass на proxy_pass https://localhost:4000;

Мне было бы очень интересно понять, как это сделатьработа, спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...