Amazon web services 用于服务器端事件(eventSource)的带有HTTPS重定向的AWS负载平衡器
伙计们 我正在AWS Elastic beanstalk上用JAVA Spring和负载平衡器构建一个网站。简而言之,我有一个页面,它使用客户端的eventsource和Java Spring后端的SSEEmiter从服务器接收服务器端事件(SSE) 我希望我的网站使用HTTPS,因此我按照官方建议设置NGINX配置: 它工作得很好…当我用HTTP连接到我的网站时,它会自动重定向到HTTPS 但是,我的服务器端事件停止工作 我尝试了另一个帖子的解决方案: 但这没用 在我的服务器端,我还根据其他建议添加了httpHeaders 服务器端:Amazon web services 用于服务器端事件(eventSource)的带有HTTPS重定向的AWS负载平衡器,amazon-web-services,nginx,url-redirection,eventsource,Amazon Web Services,Nginx,Url Redirection,Eventsource,伙计们 我正在AWS Elastic beanstalk上用JAVA Spring和负载平衡器构建一个网站。简而言之,我有一个页面,它使用客户端的eventsource和Java Spring后端的SSEEmiter从服务器接收服务器端事件(SSE) 我希望我的网站使用HTTPS,因此我按照官方建议设置NGINX配置: 它工作得很好…当我用HTTP连接到我的网站时,它会自动重定向到HTTPS 但是,我的服务器端事件停止工作 我尝试了另一个帖子的解决方案: 但这没用 在我的服务器端,我还根据其他
public static final class CustomSseEmitter extends SseEmitter {
static final MediaType UTF8_TEXT_EVENTSTREAM = new MediaType("text", "event-stream", Charset.forName("UTF-8"));
@Override
protected void extendResponse(ServerHttpResponse outputMessage) {
HttpHeaders headers = outputMessage.getHeaders();
headers.set("X-Accel-Buffering", "no");
headers.set("Cache-Control", "no-cache");
headers.set("Connection", "keep-alive");
headers.set("Content-Type", "text/event-stream");
if (headers.getContentType() == null) {
headers.setContentType(UTF8_TEXT_EVENTSTREAM);
}
}
}
客户端:
var registerSSE = function (companyId, retryCount) {
source = new EventSource("/middle/registerSSE/" + companyId);
source.onopen = function (e) {
console.log("Build SSE successful");
};
source.onmessage = function (e) {
console.log("receive SSE");
};
source.onerror = function (e) {
console.error("SSE broken [" + e.data + "], retry " + (
++retryCount) + " times!");
}
}
对不起,在这种情况下,我是一个新手,我如何结合这两个必需的功能
如有任何建议,将不胜感激。
谢谢。是否有日志记录,以便您可以查看您遇到的错误?您好,我们在AWS上发现了SSE停止工作的问题。你找到解决办法了吗?