繁体   English   中英

Nginx在“ location”指令上的不同根文件夹= 403禁止的错误

[英]Nginx different root folder on “location” directive = 403 Forbidden error

我是网络开发人员。 当我开始开发网站时,在我要开发的网站准备就绪之前,我的客户的域必须指向另一台服务器,我曾经做过的事情是:

1)将其域添加到我的服务器2)编辑我的主机文件,然后将域指向服务器的IP。

上述设置的问题是,客户看不到我正在开发的网站,因此我创建了一个域来临时托管他们的网站,直到他们准备好为止。 所以:

mydomain.com/client1
mydomain.com/client2
mydomain.com/client3

假设我正在为xyz.com开发一个网站。 为了避免进行重大更改以将网站从mydomain.com/xyz传输到xyz.com(这也位于我的服务器中),我希望mydomain.com/client1加载xyz根文件夹中的文件。 这种将mydomain.com/xyz传输到xyz.com的方法就像更改dns记录一样简单。

因此,这是xyz.com的虚拟主机:

server {
      error_log /var/log/nginx/vhost-error_log warn;
      listen 1.1.1.1:80;
      server_name mydomain.com www.mydomain.com;
      access_log /usr/local/apache/domlogs/mydomain.com-bytes_log bytes_log;
      access_log /usr/local/apache/domlogs/mydomain.com combined;
      root /home/mydomain/public_html;

  location ^~ /xyz {
  root /home/xyz/public_html;

  }
  location / {
      location ~.*\.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|html|htm|txt|js|css|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso)$ {
      expires 1d;
      try_files $uri @backend;
      }
      error_page 405 = @backend;
      add_header X-Cache "HIT from Backend";
      proxy_pass http://1.1.1.1:8081;
      include proxy.inc;
      }
      location @backend {
      internal;
      proxy_pass http://1.1.1.1:8081;
      include proxy.inc;
      }
      location ~ .*\.(php|jsp|cgi|pl|py)?$ {
      proxy_pass http://1.1.1.1:8081;
      include proxy.inc;
      }
      location ~ /\.ht {
      deny all;
      }
    }

看起来不错,但是当我访问它时,我得到了:

403禁止

我也尝试使用别名,但是没有用。 尝试使用和不使用“ ^〜”。

我究竟做错了什么?

很好,您没有定义任何索引,所以我假设服务器正在尝试列出文件夹的内容,这是被禁止的,因为您不允许自动索引,

尝试添加

index index.html index.whatever;

/xyz块中

或者,如果您只想列出文件夹内容,请使用

autoindex on;

正确的答案是Nginx反向代理多个后端

您应该将这些行添加到服务器或位置边距。



    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

除此之外,您应该增加哈希大小,添加这两行。



    proxy_headers_hash_max_size 51200;
    proxy_headers_hash_bucket_size 6400;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM