ruby-on-rails - Rails + nginx + 独角兽 = 502 错误网关
问题描述
浏览器突然开始显示 502 Bad Gateway - nginx。以下是我的文件
nginx/error.log
upstream sent too big header while reading response header from upstream
默认.conf
upstream myapp_server {
server myapp:4567 fail_timeout=0;
}
server {
listen 80;
server_name abcnow.com abcnow-demo.com abcsoon.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log error;
return 301 https://$host$request_uri;
}
server {
listen 443 default_server;
server_name abcnow.com abcnow-demo.com abcsoon.com;
access_log /dev/stdout;
error_log stderr error;
root /var/lib/www;
ssl on;
ssl_certificate /etc/ssl/certs/ops.pem;
ssl_certificate_key /etc/ssl/private/ops-key.pem;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
ssl_prefer_server_ciphers on;
try_files $uri/index.html $uri @myapp;
location @myapp {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Forward-scheme https;
proxy_redirect off;
proxy_pass http://myapp_server;
}
client_max_body_size 4G;
keepalive_timeout 10;
}
nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
独角兽.rb
working_directory '/srv/www/myapp'
pid '/srv/www/tmp/myapp.pid'
stderr_path '/dev/stderr'
stdout_path '/dev/stdout'
listen 4567
worker_processes 11
timeout 300
我已经尝试将以下内容添加到location,但仍然出现错误
proxy_buffer_size 128k;proxy_buffers 4 256k;proxy_busy_buffers_size 256k;
解决方案
试试添加这个!
large_client_header_buffers 4 512k;
client_max_body_size 25M;
proxy_buffer_size 512k;
proxy_buffers 4 1024k;
proxy_busy_buffers_size 1024k;
推荐阅读
- php - 修复 PHP 中的输入变量
- javascript - 让一个数组引用两个或更多
- sql - Scala Spark Dataframe:如何同时爆炸 Int 数组和 struct 数组
- javascript - componentDidMount/Update 中 socket.io 函数上的 setInterval?
- python - Python:如何从字典中获取值并返回对其数学产品的真/假评估?
- bash - 尽管采购,但无法从 bash 脚本更改目录
- regex - 为什么 Golang 中的这个正则表达式是非贪婪的?
- ruby-on-rails - 转义 erb 标记中的字符串插值
- python - 如何使用新函数的参数检查特定键是否在字典中?
- python - Python中嵌套函数的内存地址