项目的域名:108.com
tornado 用 nginx 做了一个代理
server {
listen 80;
server_name socket.108.com;
location / {
proxy_pass http://127.0.0.1:8888;
}
}
在前端 108.com 域名发起 websocket 我猜是跨域的问题,在同一个域名下 websocket 是没问题的,google 了也没有搜到什么具体跨域的文章
WebSocket connection to 'ws://socket.108.com/socket' failed: Error during WebSocket handshake: Unexpected response code: 400
问题:
1.如果用一个域名,这样 ngixn 需要怎么配置?好像端口不一样也会出现跨域问题 这个自己倒还没试
2.有其他 php+tornado 实现 websocket 的具体方法吗?
1
manhere 2015-08-25 21:42:17 +08:00 1
没看出和 php 有什么关系啊
|
2
lbp0200 2015-08-25 21:51:46 +08:00 1
请看 http 协议和 tcp 协议的区别, websocket 是纯 tcp 协议
|
3
barbery 2015-08-25 21:56:10 +08:00 1
websocket 没有跨域。。。。
|
4
openroc 2015-08-25 21:58:25 +08:00 1
server {
listen 80; server_name oo.xx.com; proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; location / { proxy_pass http://ooxx_6969; } } |
5
dai269619118 OP |
6
lvfujun 2015-08-25 22:21:54 +08:00
@dai269619118 楼主一看就是被网上的教程骗了。
|
8
sunmonster 2015-08-25 22:44:49 +08:00 1
请参见 nginx websocket 文档 http://nginx.org/en/docs/http/websocket.html
|
9
hellogbk 2015-08-25 23:25:56 +08:00 1
websocket 在目前来看还是一个坑啊。 经常不得不 fallback 到 long polling 下面去。
websocket 的可用性跟浏览器兼容性还有用户的网络环境有很大关系。 ws 的成功率没有 wss 高。 |
10
dai269619118 OP @qiayue 大哥是本地重定向的。。。
|