nginx - 502 bad gateway nginx 闪亮文件上传
问题描述
我使用 fileUpload 上传了一个大文件 (5Gb)。我在闪亮的服务器代码中将文件上传限制增加到 10Gb。文件上传成功但上传完成后返回错误:
Error : html head title 502 bad gateway /title /head
以下是我的配置信息:
options(shiny.maxRequestSize = 10000 * 1024 ^ 2)
nginx 配置/etc/nginx/nginx.conf
在 http 块中有如下基本设置:
http {
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
client_max_body_size 100G;
large_client_header_buffers 8 64k;
}
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
}
配置/etc/nginx/sites-available/default
如下图:
server {
listen 80 default_server;
listen [::]:80 default_server
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location /shiny/ {
proxy_pass http://X.X.X.X:3838/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
rewrite ^(/shiny/[^/]+)$ $1/ permanent;
}
location /rstudio/ {
proxy_pass http://X.X.X:8787/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
rewrite ^(/rstudio/[^/]+)$ $1/ permanent;
client_max_body_size 100000M;
}
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
proxy_buffer_size 16k;
proxy_buffers 8 32k;
proxy_busy_buffers_size 224K;
keepalive 64
}
任何尝试的提示都会有所帮助。
解决方案
Adding the following lines to the location/ to the config file in sites-available/myApp.com fixed the issue:
location / {
proxy_http_version 1.1; // you need to set this in order to use params below.
proxy_pass http://XXXXXX.XX.XX:3838;
proxy_redirect http://XXXXXX.XX.XX:3838/ https://$host/;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_temp_file_write_size 64k;
proxy_connect_timeout 10080s;
proxy_send_timeout 10080;
proxy_read_timeout 10080;
proxy_buffer_size 64k;
proxy_buffers 16 32k;
proxy_busy_buffers_size 64k;
proxy_redirect off;
proxy_request_buffering off;
proxy_buffering off;
}
推荐阅读
- c# - 使用 Moq 验证非虚拟方法
- docker - 当我将 node-alpine 与 docker 一起使用时,它无法正常工作
- azure-data-factory - Azure 数据工厂,如何将 blob 数据增量复制到 sql
- c# - 异步等待方法在调用控制器操作方法时不能并行工作
- maven - 如何将非 maven 项目添加为 maven 项目中的依赖项
- symfony - 调用 postRemove 不起作用
- python - 集合的 Python 联合引发 TypeError
- swift - Swift如何在点击栏按钮时返回上一个视图控制器
- php - [PHP][MySQL] 如何同时在两张表中插入数据?
- python - Whatsapp 自动机器人无法在 WhatsApp 联系人列表中搜索