У меня есть приложение nodejs, которое обслуживает http-сервер на локальном хосте: 8180 и socketio (websocket) на 8181, но моя проблема заключается в том, как их защитить с помощью https.
Я использую nginx, чтобы обратный прокси-сервер для https на HTTP-сервере работал хорошо, но просто не знаю, как он должен работать на веб-сокете, если я подключу слушаю 8181 ssl и конечная точка веб-сокета будет https://demo : 8181 ? Кстати, я попробовал это, но он не может перезапустить мой nginx сервер
server {
listen 443 ssl;
server_name api.demo.com;
ssl_certificate /etc/nginx/ssl/public.crt;
ssl_certificate_key /etc/nginx/ssl/private.key;
location / {
proxy_pass http://localhost:8180;
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;
}
}
server {
listen 443 ssl;
server_name api.demo.com;
ssl_certificate /etc/nginx/ssl/public.crt;
ssl_certificate_key /etc/nginx/ssl/private.key;
location / {
proxy_pass http://localhost:8181;
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;
}
}