我运行CapRover来启用我的Java Sping Boot 嵌入式Tomcat服务器上的https和域。这个Java应用程序在Http 2上工作来启用更多的SSE事件。
在没有代理的情况下运行良好
没有CapRover/ nginx代理的应用程序运行良好(所以当我访问服务器上的ip:port时)。
启用nginx代理时出错
当我添加一个nginx代理来启用CapRover应用程序上的https/domain时,几分钟后,我在浏览器的控制台中收到此错误:
火狐中的NS_ERROR_NET_PARTIAL_TRANSFER
。Chrome中的net::ERR_HTTP2_PROTOCOL_ERROR 200
。
这个错误发生在SSE流端点上。顺便说一句,当加载应用程序时,我在这些端点上收到SSE事件,所以端点确实工作。但似乎在某个时间段后出现错误,可能是超时或其他原因?
这是我的nginx配置:
events {
}
http {
server {
listen 443;
location / {
proxy_pass https://MY_IP_ADDRESS_COMES_HERE:7372;
}
}
}
卡普罗孚指令proxy_http_version 1.1;
CapRover似乎增加了proxy_http_version 1.1;
,而且不支持2. 0,所以我想要实现的很可能是行不通的。
1条答案
按热度按时间ibrsph3r1#
正确的指令是:
您应该通过添加以下指令来添加SSL密钥和证书的路径:
此外,您还需要以下指令:代理ssl服务器名称和代理ssl验证。See。