我想我几乎没有想法。 一直试图解决所有的答案和所有的博客,但仍然运气不佳。
这是我想要做的。 我有一个运行在某个端口的socket.io的nodejs服务器,并希望使用Nginx从端口80进行代理传递。 条件是我的应用程序仍然工作,并成功通过socket.io发送请求,另一个客户端收到它。 但事情是我不断得到“上游超时”的错误,并有很多。
这是我经过很多改变后的当前Nginx设置:
upstream node_server.com { server 127.0.0.1:3002 max_fails=0 fail_timeout=10s; keepalive 512; } server { listen 443; client_max_body_size 16M; keepalive_timeout 10; ssl on; ssl_certificate my.crt; ssl_certificate_key my.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES"; ssl_prefer_server_ciphers on; server_name my_domain.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Nginx-Proxy true; proxy_buffers 8 32k; proxy_buffer_size 64k; proxy_pass https://node_server.com; proxy_redirect off; proxy_next_upstream error timeout http_500 http_502 http_503 http_504; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; tcp_nodelay on; # not necessary } }
这是我得到的错误信息(有很多):
Nginx – 在不同端口上反向代理多个API
Nginx和带有代理传递的尾随斜杠
如何在rails日志中logging像Nginx这样的代理服务器上的真实客户端ip
Apache代理cookie只适用于第一个应用程序
[error] 8131#0: *4599 upstream timed out (110: Connection timed out) while reading response header from upstream,client: 112.215.64.131,server: my_domain.com,request: "GET /socket.io/?EIO=3&sid=ZRsV9eAnEItl90-vAH-j&transport=polling&user=2104655266f3db0f2a HTTP/1.1",upstream: "https://127.0.0.1:3002/socket.io/?EIO=3&sid=ZRsV9eAnEItl90-vAH-j&transport=polling&user=2104655266f3db0f2a",host: "my_domain.com"
即使强硬我的应用程序仍然工作,我想摆脱所有的错误。 真的很感谢任何帮助。
Nginx是反向代理和Web服务器
哪一个最有效率:通过Nginx直接提供静态文件,还是通过Nginx反向代理来提供节点?
如何设置Nginxconfiguration以使用不同的代理和站点文件将代理逆向转换为多个容器
更改
proxy_pass https://node_server.com; 到proxy_pass http://node_server.com;
你应该访问:
https://my_domain.com
`
应该希望它有帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。