Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 由于部署在EBS中的Tomcat中的升级头无效,握手失败_Java_Spring_Tomcat_Ssl_Amazon Elastic Beanstalk - Fatal编程技术网

Java 由于部署在EBS中的Tomcat中的升级头无效,握手失败

Java 由于部署在EBS中的Tomcat中的升级头无效,握手失败,java,spring,tomcat,ssl,amazon-elastic-beanstalk,Java,Spring,Tomcat,Ssl,Amazon Elastic Beanstalk,我在AmazonElasticBeanstalk服务器的Tomcat8环境中部署了一个JavaSpring应用程序。应用程序已使用正确的证书配置HTTPS。当套接字连接连接到应用程序时,我会在日志中看到下面的错误 ERROR o.s.w.s.s.s.DefaultHandshakeHandler - Handshake failed due to invalid Upgrade header: null 我试图在互联网上找到答案,一些帖子说需要启用HTTPS。HTTPS已经启用,对同一服务器的

我在AmazonElasticBeanstalk服务器的Tomcat8环境中部署了一个JavaSpring应用程序。应用程序已使用正确的证书配置HTTPS。当套接字连接连接到应用程序时,我会在日志中看到下面的错误

ERROR o.s.w.s.s.s.DefaultHandshakeHandler - Handshake failed due to invalid Upgrade header: null
我试图在互联网上找到答案,一些帖子说需要启用HTTPS。HTTPS已经启用,对同一服务器的正常webservice调用可以正常工作


如果有人有任何想法,请告诉我。谢谢大家!

问题在于弹性beanstalk使用代理,因此您可以将代理配置为支持套接字

Tomcat的默认代理是Apache,我已使用下一个文件将其更改为nginx:

.ebextensions\nginx proxy.config

选项设置:

aws:elasticbeanstalk:environment:proxy:

ProxyServer: nginx
然后我添加了我的nginx文件:

.ebextensions\files.config

档案: “/etc/nginx/conf.d/01_websockets.conf”: 模式:“000644” 所有者:root 组:根 内容:| 工人1

        events {
                worker_connections 2024;
        }


        http {
                include mime.types;
                default_type application/octet-stream;
                sendfile on;
                keepalive_timeout 65;
                gzip on;

                server {
                        listen 80;
                        server_name localhost;


                        location / {
                                proxy_set_header X-Real-IP $remote_addr;
                                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                                proxy_set_header Host $http_host;
                                proxy_set_header X-NginX-Proxy true; 

                                # prevents 502 bad gateway error
                                proxy_buffers 8 32k;
                                proxy_buffer_size 64k;

                                proxy_pass http://127.0.0.1:8080;
                                proxy_redirect off;

                                # enables WS support
                                proxy_http_version 1.1;
                                proxy_set_header Upgrade $http_upgrade;
                                proxy_set_header Connection  "upgrade";
                        }
                }
        }

祝你好运

这是否相关@AnandBhat HTTPS已在我的实例安全组中启用。@APaul找到解决方案了吗?如果你有新问题,请点击按钮提问。如果你有足够的声誉,问题就来了。或者,“star”将其作为收藏夹,您将收到任何新答案的通知。向nginx config添加以下字符串对我有帮助:#启用WS-support proxy_http_版本1.1;代理设置头升级$http\U升级;代理设置头连接“升级”;谢谢