Heroku的Nginx反向代理失败了SSL握手
不幸的是,我不是一个系统管理员并且遇到了一个让我头撞墙的问题. 简短的故事是我在EC2(Ubuntu 14.04.4 LTS)上运行Nginx,以(a)托管我公司的营销网站(https://example.com,顺便说一句是Wordpress),以及(b)作为我们运行的Rails应用程序的反向代理在Heroku(https:// app.example.com)上,对于某些路径.我们对example.com和app.example.com使用相同的SSL证书.所有这些都运行了8-10个月,但我最近从Heroku的付费SSL插件切换到新的免费SSL产品,现在我们的反向代理被打破了. 在检查Nginx错误日志时,我看到以下内容:
我试图寻找一些额外的指导 – 我已经升级了Nginx(1.10.1)和OpenSSL(1.0.2h)而没有运气.我怀疑这个问题可能是由于Heroku在新的免费SSL功能(https://devcenter.heroku.com/articles/ssl-beta)中使用了SNI,但是无法确定为什么这可能是一个问题. 关于这一点我的探索还有几点: >当我切换到新的免费Heroku SSL时,我按照文档的指示将app.example.com DNS记录更改为指向app.example.com.herokudns.com.该应用程序可以通过app.example.com正常访问,当我在app.example.com和app.example.com.herokudns.com上运行nslookup时,我得到了相同的IP地址.然而… 最后,我的Nginx反向代理在nginx.conf中配置如下:
非常感谢任何帮助 – 非常感谢! 最佳答案 我今天能够解决这个问题,并希望发布解决方案以防其他人遇到同样的问题. 事实证明,问题毕竟与SNI有关.我在nginx.org上找到了这张票: https://trac.nginx.org/nginx/ticket/229 这导致我使用proxy_ssl_server_name指令: http://nginx.org/r/proxy_ssl_server_name 通过在配置中设置为“on”,您将能够使用SNI代理上游主机. 感谢所有评论建议的人! (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- nginx反向代理后面的服务器忽略URL中的相对路径
- Symfony2:如何强制整个应用程序的HTTPS?
- Gunicorn和Django与Upstart和Nginx
- node.js – 使用nginx处理Express子域
- ruby-on-rails – 如何配置nginx Unicorn以避免超时错误?
- nginx-Gitlab docker注册表拉取失败的EOF
- 安全 – 有人试图破解我的网站吗?如何阻止Nginx中的某些UR
- node.js – socket.io nginx配置WebSocket握手期间出错:’
- nginx – 在使用Gunicorn运行应用程序时未注册SQLAlchemy扩
- 如何避免在nginx中重复add_header指令?