amazon-web-services - AWS Elastic Beanstalk 中发生“冲突的服务器名称“localhost””和“损坏的标头”错误
问题描述
我正在尝试从保存的配置创建一个新的 AWS Elastic Beanstalk 环境。该平台是 Amason Linux 和 Ruby on Rails。环境生成的 EC2 实例位于负载均衡器后面。实例上正在运行一个 API 服务器,我们的前端 Web 通过 HTTP 方法与 API 服务器通信:GET、POST、...
在 API 服务器的源代码中,我们使用 file .ebextensions
。负载均衡器部分.exbextensions
设置如下:
Resources:
AWSEBLoadBalancer:
Properties:
Listeners:
- InstancePort: 80
InstanceProtocol: HTTP
LoadBalancerPort: 80
Protocol: HTTP
AccessLoggingPolicy:
EmitInterval: 5
Enabled: true
S3BucketName:
Ref: LogsBucket
Type: "AWS::ElasticLoadBalancing::LoadBalancer"
DependsOn: "LogsBucketPolicy"
并且里面的nginx.exbextensions
配置为:
/etc/nginx/conf.d/proxy.conf:
content: |
client_max_body_size 500M;
server_names_hash_bucket_size 128;
upstream backend {
server unix:///var/run/puma/my_app.sock;
}
server {
listen 80 proxy_protocol;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
large_client_header_buffers 8 32k;
set_real_ip_from 10.0.0.0/8;
real_ip_header proxy_protocol;
location / {
proxy_http_version 1.1;
proxy_set_header X-Real-IP $proxy_protocol_addr;
proxy_set_header X-Forwarded-For $proxy_protocol_addr;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_buffers 8 32k;
proxy_buffer_size 64k;
proxy_pass http://backend;
proxy_redirect off;
# Enables WebSocket support
location /v1/cable {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade "websocket";
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $proxy_protocol_addr;
proxy_set_header X-Forwarded-For $proxy_protocol_addr;
}
}
}
在环境配置中,负载均衡器设置如下,添加了 AWS SSL 证书。
创建环境后,会自动创建实例和负载均衡器。实例的健康状态为 Ok。
我打开前端应用程序并尝试使用我的帐户登录,但登录失败。我检查了环境的日志,发现以下错误。
当我使用连接到相同 AWS 后端(EB 工作者、数据库等)的旧环境时,一切正常。负载均衡器和网络的配置似乎有问题...您能提供一些想法吗?
解决方案
推荐阅读
- java - 并行运行 java selenium 项目
- python - 如何从字符串值动态调用python中的函数?
- spring-boot - Spring Boot 和 Spring Security Keyclock 集成 - 错误:连接 ECONNREFUSED ::1:8180
- css - 将“x”元素添加到活动菜单链接
- jacoco - Jacoco 规则:如何检查是否覆盖了所有公共方法?
- mysql - PHPMyAdmin 凭据:它是如何工作的?
- beautifulsoup - 使用 BeautifulSoup 从 html 中提取文本
- sql-server - 带有区分重音的排序规则的 MSSQL 唯一索引/键 (ss != ß, ...) EF Core Code First
- javascript - 使用箭头函数和不使用箭头有什么区别?(feat.React)[编辑]
- python - 构造字符串以粘贴到谷歌表格中的多个单元格中