我试图让ngnix与 NodeJS 和 Angular 一起使用。 目前,我可以访问 https://mypage/api (服务器API)和 https://mypage/ (Angular)。但是,当我尝试使用socket.io登录时,我总是有一个' 套接字连接超时错误'。我认为由于反向代理技术会发生此错误。我错过了任何配置文件吗?或设置错误的标题?
ngnix conf:
server {
listen 443 ssl;
all centificate letscrypt Stuff
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:4200/;
}
location /api/ {
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_pass http://127.0.0.1:3030/;
}
}
谢谢!
答案 0 :(得分:1)
在您的位置/阻止
中尝试此操作 <kendo-date-picker
name="StartDate"
ng-model="data.StartDate">
</kendo-date-picker>
<kendo-date-picker
name="EndDate"
ng-model="data.EndDate">
</kendo-date-picker>
在我配置相同的情况下,这对我有所帮助,但是我没有遇到同样的问题。我的套接字连接正常但是有一个握手错误,套接字会在轮询时回退。
答案 1 :(得分:1)
我遇到了同样的问题,并解决了在位置/ 块中添加这些行的问题:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
但是,您的客户端应连接到服务器,不包括 http:// (或 https:// 用于SSL)协议,并且仅使用 server_name < / strong>或 IP地址,或指定 ws:// (或 wss:// for SSL)协议。