我想试验HTML5 WebSockets,我正在寻找一个支持websockets的成熟的web服务器.是否有默认支持websockets的Web服务器列表?什么流行的网络服务器支持开箱即用的websockets?服务器编程语言并不重要,我知道Java,PHP,Erlang,Python等......我只是想做一些小实验.
我看过一些不支持websockets的东西,即Nginx,Apache和Mochiweb.
我使用nginx和sails有跨域配置问题.问题是,如果我通过适当的方式连接套接字,http://domain-server.com/socket.io/
则RESTful请求将失败.如果RESTful工作,套接字将不会.
建立
客户 http://domain.com
服务器 http://server-domain.com
客户端是使用"sails.io.js": "0.10.3"和配置的角度应用程序io.sails.url = 'http://domain-server.com';.
Server是一个具有RESTful请求和套接字功能的sails应用程序.
Sails CORS配置
module.exports.cors = {
allRoutes: true,
origin: 'http://domain.com',
credentials: true,
methods: 'GET, POST, PUT, DELETE, OPTIONS, HEAD',
headers: 'content-type,Access-Control-Allow-Origin'
};
Run Code Online (Sandbox Code Playgroud)
Sails套接字配置
module.exports.socket {
onConnect: function() {},
onDisconnect: function() {},
authorization: false,
'backwardsCompatibilityFor0.9SocketClients': false,
grant3rdPartyCookie: true,
origins: 'http://domain.com'
};
Run Code Online (Sandbox Code Playgroud)
nginx配置
注释掉是我在nginx配置中摆弄的但没有取得多大成功(也尝试了客户端地址而不是*).
server {
listen 80;
server_name domain-server.com;
#add_header Access-Control-Allow-Origin *;
location / {
# add_header Access-Control-Allow-Origin *;
proxy_pass http://localhost:1337;
proxy_http_version 1.1;
proxy_set_header Upgrade …Run Code Online (Sandbox Code Playgroud)