A P*_*aul 5 java ssl spring tomcat amazon-elastic-beanstalk
我在Amazon Elastic beantalk服务器的tomcat 8环境中部署了一个Java spring应用程序。该应用程序具有配置了正确证书的HTTPS。当套接字连接连接应用程序时,日志显示错误
ERROR o.s.w.s.s.s.DefaultHandshakeHandler - Handshake failed due to invalid Upgrade header: null
Run Code Online (Sandbox Code Playgroud)
我试图通过互联网弄清楚,一些帖子说它需要启用HTTPS。HTTPS已经启用,并且对同一服务器的常规Web服务调用有效。
如果有人有任何想法,请告诉我。谢谢 !
问题是弹性beanstalk使用代理,因此您可以配置代理以支持套接字。
Tomcat 的默认代理是 Apache,我已使用下一个文件将其更改为 nginx:
.ebextensions\nginx-proxy.config
选项设置:
aws:elasticbeanstalk:环境:代理:
ProxyServer: nginx
Run Code Online (Sandbox Code Playgroud)
然后我添加了我的 nginx 文件:
.ebextensions\files.config
文件:“/etc/nginx/conf.d/01_websockets.conf”:模式:“000644”所有者:根组:根内容:| 工作进程 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";
}
}
}
Run Code Online (Sandbox Code Playgroud)
祝你好运!!!
归档时间: |
|
查看次数: |
5988 次 |
最近记录: |