2
처음으로 nginx
을 입력하십시오.
에서 수신하는 nodejs WebSocket 서버가 있습니다. 내가 docker-compose
을 사용하고
:nginx에 잘못된 URL 접두어가 사용되었습니다.
version: "2"
services:
# stuff
service_name:
image: imagename
ports:
- 3600:3600
links:
# stuff
- proxy
proxy:
image: image-from-nginx-with-custom-config
ports:
- 80:80
- 443:443
- 8443:8443
내 설정 :
// stuff
server {
listen 8443;
server_name localhost;
ssl on;
ssl_certificate /etc/nginx/certs/crt.pem;
ssl_certificate_key /etc/nginx/certs/key.pem;
keepalive_timeout 60;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
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 https;
location/{
proxy_pass ws://service_name:3600;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
나는 시작시 nginx: [emerg] invalid URL prefix in /etc/nginx/conf.d/default.conf
를 얻을.
그래서 nginx는 ws
을 인식하지 못합니다. 어떻게해야합니까?
가능한 복제 [Nginx에 유효하지 않은 URL 접두사 (https를 HTTP를 통해 WebSocket을 처리하기 위해 아래에 추가 .com/questions/32992908/nginx-invalid-url-prefix) –
nginx에서 귀하의 URL에 http를 사용해야합니다. 'proxy_pass http : // service_name : 3600;' –
@ TarunLalwani 나는 그 일을 시도했지만 제대로 작동하지 않는 것 같습니다. 나는 그때 내 구성에 뭔가 잘못되었을 수 있습니다 ... – andr