【问题标题】:Remote nginx proxy server - unable to download file from website?远程 nginx 代理服务器 - 无法从网站下载文件?
【发布时间】:2026-01-29 15:30:01
【问题描述】:

我已经使用 nginx 设置了一个远程反向代理服务器,它有助于限制我们网站的流量(最近有很多 DDOS 攻击)。该网站目前建立在旧版本的 Joomla 之上。

当您尝试从网站下载文件时,它会重定向主页,而不是按应有的方式推送文件下载。

一个示例链接是:

http://domain.com/index.php?option=com_docman&task=doc_download&gid=4753

我的nginx配置如下

# Initialize Rate Limiting
    limit_req_zone $binary_remote_addr zone=login:10m rate=1r/s;

    # Do Proxy Cache
    proxy_cache_path /data/nginx/cache keys_zone=one:10m loader_threshold=300 loader_files=200 max_size=200m;

    include /etc/nginx/sites-enabled/*;

    server {
            listen 80;
            server_name www.domain.com;
            return 301 $scheme://domain.com$request_uri;
    }

    server {
            listen 80;
            proxy_cache one;
            server_name domain.com;
            access_log /var/www/proxy/log/nginx.access.log;
            error_log /var/www/proxy/log/nginx_error.log debug;

            location / {
                    # apply rate limiting
                    limit_req zone=login burst=5;

                    resolver        127.0.0.1;
                    include /etc/nginx/conf.d/proxy.conf;
                    proxy_pass      http://$host$uri;
            }
    }

【问题讨论】:

  • 嗨!一段时间以来,Joomla 拥有自己的 StackExchange 站点:joomla.stackexchange.com。如果您以后有任何与joomla 相关的问题,我建议您在那里提问。

标签: php nginx joomla proxy reverse-proxy


【解决方案1】:

解决了这个问题....代理正在从请求中剥离所有请求/获取变量。注意“位置”指令下的变化

来自

proxy_pass      http://$host$uri;

proxy_pass      http://$host$request_uri;

【讨论】: