我得到了以下测试脚本(使用节点执行,真正的客户端是浏览器,结果是相同的):
const SockJS = require('sockjs-client');
const webstomp = require('webstomp-client');
let sock = new SockJS(/*INSERT_URL_HERE*/);
let stomp = webstomp.over(sock, {
heartbeat: false,
});
stomp.connect({}, function() {
console.log('connected');
}, function() {
console.log('disconnected');
});正在使用的版本:
排除基础设施的一部分(如NGINX作为代理来路由子域等)作为邪恶的根源,我尝试通过NGINX代理和Zuul直接连接到基于Spring的(使用RabbitMQ作为真正的代理)。
前两个变体按预期工作,但第三个变体(使用Zuul作为网关和ResourceServer注释)失败。增加超时没有帮助,因为问题似乎存在于“握手”中。到目前为止,我可以从客户端日志中获得以下内容(对于前两个变体,所有工作都很好,甚至可以建立webstomp ):
sockjs-client:main using url http://domain.tld/stomp +0ms
sockjs-client:utils:url same http://domain.tld/stomp http://localhost/ false +4ms
sockjs-client:info-receiver http://domain.tld/stomp +3ms
Opening Web Socket...
sockjs-client:info-receiver doXhr http://domain.tld/stomp/info +5ms
sockjs-client:driver:xhr GET http://domain.tld/stomp/info undefined +1ms
sockjs-client:driver:xhr data {"entropy":394670331,"origins":["*:*"],"cookie_needed":true,"websocket":false} +100ms
sockjs-client:driver:xhr end +2ms
sockjs-client:info-receiver finish { entropy: 394670331,
origins: [ '*:*' ],
cookie_needed: true,
websocket: false } 103 +1ms
sockjs-client:info-receiver _cleanup +5ms
sockjs-client:main _receiveInfo 103 +1ms
sockjs-client:main info { entropy: 394670331,
origins: [ '*:*' ],
cookie_needed: true,
websocket: false,
nullOrigin: false,
sameOrigin: false,
sameScheme: true } +1ms
sockjs-client:utils:transport disabled from server websocket +0ms
sockjs-client:utils:transport enabled xhr-streaming +1ms
sockjs-client:utils:transport disabled xdr-streaming +0ms
sockjs-client:utils:transport enabled eventsource +0ms
sockjs-client:utils:transport disabled iframe-eventsource +0ms
sockjs-client:utils:transport disabled htmlfile +1ms
sockjs-client:utils:transport disabled iframe-htmlfile +0ms
sockjs-client:utils:transport enabled xhr-polling +0ms
sockjs-client:utils:transport disabled xdr-polling +0ms
sockjs-client:utils:transport disabled iframe-xhr-polling +0ms
sockjs-client:utils:transport disabled jsonp-polling +0ms
sockjs-client:main 3 enabled transports +0ms
sockjs-client:main attempt xhr-streaming +0ms
sockjs-client:main using timeout 824 +0ms
sockjs-client:main transport url http://domain.tld/stomp/365/5rfribd0 +1ms
sockjs-client:sender-receiver http://domain.tld/stomp/365/5rfribd0/xhr_streaming +0ms
sockjs-client:buffered-sender http://domain.tld/stomp/365/5rfribd0 +1ms
sockjs-client:polling http://domain.tld/stomp/365/5rfribd0/xhr_streaming +0ms
sockjs-client:polling _scheduleReceiver +2ms
sockjs-client:receiver:xhr http://domain.tld/stomp/365/5rfribd0/xhr_streaming +0ms
sockjs-client:driver:xhr POST http://domain.tld/stomp/365/5rfribd0/xhr_streaming null +1ms
sockjs-client:driver:xhr data hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+60ms
sockjs-client:receiver:xhr _chunkHandler 200 +0ms
sockjs-client:receiver:xhr message hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +0ms
sockjs-client:polling message hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +0ms
sockjs-client:sender-receiver poll message hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +1ms
sockjs-client:main _transportMessage hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +0ms
sockjs-client:main heartbeat undefined +5ms
sockjs-client:driver:xhr data o
+0ms
sockjs-client:receiver:xhr _chunkHandler 200 +0ms
sockjs-client:receiver:xhr message o +0ms
sockjs-client:polling message o +0ms
sockjs-client:sender-receiver poll message o +2ms
sockjs-client:main _transportMessage o +0ms
sockjs-client:main _open xhr-streaming 0 +1ms
Web Socket Opened...
>>> CONNECT
accept-version:1.2,1.1,1.0
heart-beat:0,0
>>> length 110
sockjs-client:buffered-sender send "CONNECT\naccept-version:1.2,1.1,1.0\nheart-beat:0,0\n\n\u0000" +2ms
sockjs-client:buffered-sender sendSchedule 1 +0ms
sockjs-client:ajax-based create ajax sender http://domain.tld/stomp/365/5rfribd0 ["CONNECT\naccept-version:1.2,1.1,1.0\nheart-beat:0,0\n\n\u0000"] +0ms
sockjs-client:driver:xhr POST http://domain.tld/stomp/365/5rfribd0/xhr_send ["CONNECT\naccept-version:1.2,1.1,1.0\nheart-beat:0,0\n\n\u0000"] +0ms
sockjs-client:main connected xhr-streaming +2ms
sockjs-client:driver:xhr end +111ms
sockjs-client:ajax-based finish 204 +0ms
sockjs-client:buffered-sender sendScheduleWait +1ms
sockjs-client:buffered-sender timeout +26ms
sockjs-client:buffered-sender sendSchedule 0 +0ms
sockjs-client:driver:xhr data a["CONNECTED\nserver:RabbitMQ/3.6.9\nsession:session--67Xn59asIOtXSwEHL4NZQ\nheart-beat:0,0\nversion:1.2\n\n\u0000"]
+186ms
sockjs-client:receiver:xhr _chunkHandler 200 +1ms
sockjs-client:receiver:xhr message a["CONNECTED\nserver:RabbitMQ/3.6.9\nsession:session--67Xn59asIOtXSwEHL4NZQ\nheart-beat:0,0\nversion:1.2\n\n\u0000"] +0ms
sockjs-client:polling message a["CONNECTED\nserver:RabbitMQ/3.6.9\nsession:session--67Xn59asIOtXSwEHL4NZQ\nheart-beat:0,0\nversion:1.2\n\n\u0000"] +0ms
sockjs-client:sender-receiver poll message a["CONNECTED\nserver:RabbitMQ/3.6.9\nsession:session--67Xn59asIOtXSwEHL4NZQ\nheart-beat:0,0\nversion:1.2\n\n\u0000"] +0ms
sockjs-client:main _transportMessage a["CONNECTED\nserver:RabbitMQ/3.6.9\nsession:session--67Xn59asIOtXSwEHL4NZQ\nheart-beat:0,0\nversion:1.2\n\n\u0000"] +0ms
sockjs-client:main message xhr-streaming CONNECTED
server:RabbitMQ/3.6.9
session:session--67Xn59asIOtXSwEHL4NZQ
heart-beat:0,0
version:1.2
+0ms
<<< CONNECTED
server:RabbitMQ/3.6.9
session:session--67Xn59asIOtXSwEHL4NZQ
heart-beat:0,0
version:1.2
connected to server RabbitMQ/3.6.9
connected
sockjs-client:driver:xhr data a["\n"]
+4ms
sockjs-client:receiver:xhr _chunkHandler 200 +0ms
sockjs-client:receiver:xhr message a["\n"] +0ms
sockjs-client:polling message a["\n"] +0ms
sockjs-client:sender-receiver poll message a["\n"] +0ms
sockjs-client:main _transportMessage a["\n"] +0ms
sockjs-client:main message xhr-streaming
+0ms
<<< PONG但是,在使用Zuul时,会发生以下情况(“握手”请求由于超时而失败):
sockjs-client:main using url http://domain.tld/stomp +0ms
sockjs-client:utils:url same http://domain.tld/stomp http://localhost/ false +4ms
sockjs-client:info-receiver http://domain.tld/stomp +3ms
Opening Web Socket...
sockjs-client:info-receiver doXhr http://domain.tld/stomp/info +8ms
sockjs-client:driver:xhr GET http://domain.tld/stomp/info undefined +1ms
sockjs-client:driver:xhr data {"entropy":886967672,"origins":["*:*"],"cookie_needed":true,"websocket":false} +280ms
sockjs-client:driver:xhr end +3ms
sockjs-client:info-receiver finish { entropy: 886967672,
origins: [ '*:*' ],
cookie_needed: true,
websocket: false } 284 +1ms
sockjs-client:info-receiver _cleanup +4ms
sockjs-client:main _receiveInfo 284 +1ms
sockjs-client:main info { entropy: 886967672,
origins: [ '*:*' ],
cookie_needed: true,
websocket: false,
nullOrigin: false,
sameOrigin: false,
sameScheme: false } +1ms
sockjs-client:utils:transport disabled from server websocket +2ms
sockjs-client:utils:transport enabled xhr-streaming +1ms
sockjs-client:utils:transport disabled xdr-streaming +0ms
sockjs-client:utils:transport enabled eventsource +0ms
sockjs-client:utils:transport disabled iframe-eventsource +1ms
sockjs-client:utils:transport disabled htmlfile +0ms
sockjs-client:utils:transport disabled iframe-htmlfile +0ms
sockjs-client:utils:transport enabled xhr-polling +0ms
sockjs-client:utils:transport disabled xdr-polling +0ms
sockjs-client:utils:transport disabled iframe-xhr-polling +1ms
sockjs-client:utils:transport disabled jsonp-polling +0ms
sockjs-client:main 3 enabled transports +0ms
sockjs-client:main attempt xhr-streaming +6ms
sockjs-client:main using timeout 2272 +0ms
sockjs-client:main transport url http://domain.tld/stomp/490/5sugacsu +0ms
sockjs-client:sender-receiver http://domain.tld/stomp/490/5sugacsu/xhr_streaming +1ms
sockjs-client:buffered-sender http://domain.tld/stomp/490/5sugacsu +0ms
sockjs-client:polling http://domain.tld/stomp/490/5sugacsu/xhr_streaming +0ms
sockjs-client:polling _scheduleReceiver +0ms
sockjs-client:receiver:xhr http://domain.tld/stomp/490/5sugacsu/xhr_streaming +0ms
sockjs-client:driver:xhr POST http://domain.tld/stomp/490/5sugacsu/xhr_streaming null +1ms
sockjs-client:main _transportTimeout +2s
sockjs-client:main _transportClose undefined 2007 Transport timed out +0ms
sockjs-client:main attempt eventsource +0ms
sockjs-client:main using timeout 2272 +1ms
sockjs-client:main transport url http://domain.tld/stomp/490/s50jl3qh +1ms
sockjs-client:sender-receiver http://domain.tld/stomp/490/s50jl3qh/eventsource +0ms
sockjs-client:buffered-sender http://domain.tld/stomp/490/s50jl3qh +0ms
sockjs-client:polling http://domain.tld/stomp/490/s50jl3qh/eventsource +0ms
sockjs-client:polling _scheduleReceiver +1ms
sockjs-client:receiver:eventsource http://domain.tld/stomp/490/s50jl3qh/eventsource +0ms
sockjs-client:receiver:eventsource error 0 Event { type: 'error' } +28ms
sockjs-client:receiver:eventsource cleanup +1ms
sockjs-client:receiver:eventsource close network +0ms
sockjs-client:polling close null network undefined +202ms
sockjs-client:polling _scheduleReceiver +0ms我希望任何人都有办法解决这个问题。看起来sockjs的响应似乎没有由Zuul或者这个方向的什么东西返回。即使在服务器端使用Trace也没有发现任何错误..。
网关本身是一个简单的设置,包括@SpringBootApplication、@EnableZuulProxy、@EnableResourceServer和这个配置:
# increase the timeout of the proxy
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 60000
ribbon:
ConnectTimeout: 3000
ReadTimeout: 60000
zuul:
host:
connect-timeout-millis: 3000
socket-timeout-millis: 60000
# We don't want to automatically register all service available on Eureka
ignored-services: "*"
retryable: true
# Default is "Cookie,Set-Cookie,Authorization", but we want to forward the Bearer Token
sensitive-headers: Cookie,Set-Cookie
routes:
stomp:
path: /stomp/**
serviceId: stomp
strip-prefix: true发布于 2022-07-14 09:01:35
假设您有一个微服务架构,因为您已经将Zuul用作API代理(网关)。对于微型服务,我建议为web套接字提供一个单独的服务,具有独立的端口和独立的配置。
您可以在此服务中执行任何安全实现来保护Web套接字连接。使用zuul处理套接字是不可能的,因为它只是一个代理,它路由请求和响应,但不是很好的套接字解决方案。
https://stackoverflow.com/questions/44287636
复制相似问题