nginx反向代理文件夹403错误

时间:2017-03-08 21:39:32

标签: nginx docker proxy reverse

我正在运行nginx作为直接安装在服务器上的反向代理。要访问不同的webapps,我正在使用子文件夹。两个webapps在docker容器(pydio和警察)中运行。

对于pydio,这个位置命令正在工作;警察的同一个人没有工作。

   location ^~ /pydio {
    client_max_body_size 20G;
    proxy_connect_timeout 300;
    proxy_send_timeout 300;
    proxy_read_timeout 300;
    send_timeout 300;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://127.0.0.1:82;
    proxy_redirect off;
}

我尝试通过搜索找到不同的设置 - 没有工作。

这是导致403错误的最新版本:

   location ^~ /ebooks(.*)$ {
    client_max_body_size 1G;
    proxy_connect_timeout 300;
    proxy_send_timeout 300;
    proxy_read_timeout 300;
    send_timeout 300;
    rewrite ^/ebooks(/.*)$ $1 break;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Host $host;
    proxy_pass http://192.168.100.67:83$1/;
    proxy_redirect off;
    autoindex on;
}

这个条目在我的error.log中:

  

[error] 29235#29235:* 1目录索引“/ var / www / ebooks /”被禁止,客户端:87.174.111.111,server:myadress.de,request:“GET / ebooks / HTTP / 1.1” ,主持人:“myadress.de”

当我在浏览器中直接点击 192.168.100.67:83 时,一切正常。

文件夹/ var / www / ebooks有www-data:www-data和750权限,它通过运行命令与容器链接:

docker run ... -v /var/www/ebooks:/config ...根据此https://hub.docker.com/r/lsioarmhf/cops/

希望我明白我的问题,你会帮助我。谢谢

好消息。

经过多次测试后,我发现设置正确地将命令传递给docker。

    location ^~ /ebooks {

        proxy_connect_timeout 300;
        proxy_send_timeout 300;
        proxy_read_timeout 300;
        send_timeout 300;
        rewrite ^/ebooks(/.*)$ $1 break;
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://127.0.0.1:83$1;
        proxy_redirect off;
}

但警察页面仅以基本方式显示(背景颜色改变但矩阵未显示)

这是错误日志条目:

  

上游响应缓冲到临时文件/ var / lib / nginx / proxy / 1/00 0000000001,同时读取上游,客户端:11.114.211.38,server:myadress.de,request ::“GET / ebooks / resources / jQuery / jquery-1.11.1..js?v = 1.0.1 HTTP / 1.1“,上游:”http://127.0.0.1:83/resources/jQuery/jquery-1.11.1.min.js“,主持人:”myadress.de“,引荐来源:”https://myadress/ebooks/

为您提供完整的图片。这是cops容器的nginx配置。

    server {

    listen 80 default_server;
#   listen 443 ssl;
    server_name _;
#   ssl_certificate /config/keys/cert.crt;
#   ssl_certificate_key /config/keys/cert.key;
    access_log  /config/log/nginx/access_cops.log;
    error_log /config/log/nginx/error_cops.log;
    root   /var/www/localhost/cops;
    index index.php;

    #Useful only for Kobo reader
    location /cops/ {
          rewrite ^/download/(\d+)/(\d+)/.*\.(.*)$ /fetch.php?data=$1&db=$2&type=$3 last;
          rewrite ^/download/(\d+)/.*\.(.*)$ /fetch.php?data=$1&type=$2 last;
          break;
        }

        #Can break loading the images - if you don't see anything, comment
        location ~ ^/images.*\.(gif|png|ico|jpg)$ {
                expires 31d;
        }
        #Can also break loading the images, comment if it happens
        location ~ .(js|css|eot|svg|woff|ttf)$ {
                expires 31d;
        }

    #Not necessarily correct, it depends on distro.
    location ~ \.php$ {
       include /etc/nginx/fastcgi_params;
       fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       fastcgi_pass    127.0.0.1:9000;
    }
location /books {
      root /;
       internal;
}
}

如果我遗失了什么想法?

0 个答案:

没有答案