나는 팔로우해왔다이 튜토리얼, nginx 설정을 제외하고 모든 것이 정상적으로 실행되는 것 같습니다. 내 node.js
응용 프로그램은 포트 1337에서 실행되고, varnish는 포트 80에서 실행되고, stunnel은 443에서, nginx는 8080에서 실행됩니다.
포트를 지정하면 내 앱에 올바르게 연결할 수 있지만 https://example.com:1337
방문할 때 얻는 것은 모두 오류 https://example.com
입니다 502 Bad Gateway
.
이것은 내 nginx 로그의 출력입니다.
2012/08/25 14:13:59 [error] 6049#0: *1 no live upstreams while connecting to upstream, client: 127.0.0.1, server: example.com, request: "GET / HTTP/1.1", upstream: "http://app_example/", host: "example.com"
2012/08/25 14:14:02 [error] 6049#0: *1 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server: example.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:1337/", host: "example.com"
이것은 해당 도메인에 대한 내 nginx 구성 파일입니다.
upstream example.com {
server 127.0.0.1:1337;
}
server {
server_name example.com;
listen 8080;
location / {
proxy_pass http://example.com;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
나는 뛰고있어:
- 우분투 12.04
- nginx/1.1.19
- 충격 4.42
- 바니시-3.0.2
답변1
먼저, 해당 링크에 따르면 정적 파일에는 nginx만 사용하고 웹 사이트에는 html 파일만 사용하고 있습니다. nginx를 통해 nodejs/websocket을 프록시하려고 합니다.
그러면 왜 그 웹사이트에서는 그렇게 하지 말라고 하는 걸까요? 주로 안정적인 릴리스의 nginx에서는 웹 소켓이 지원되지 않기 때문입니다.
웹소켓은 1.1 사양이고 nginx는 1.0 사양입니다. 이제 .. nginx에 대해 tcp_proxy와 같이 컴파일할 수 있지만 URL이 지적한 것처럼 광택제로 프록시할 수 있습니다. 가는 건 별로 의미가 없지
광택제->nginx->노드
그냥 해
바니시 -> 노드