【问题标题】:apache error - 403 forbidden on virtual host via nginx reverse proxyapache错误-通过nginx反向代理在虚拟主机上禁止403
【发布时间】:2014-10-14 07:25:49
【问题描述】:

我使用的是 CentOS 版本 6.5 (Final),我使用 yum 安装了 nginx-1.6.1-1.el6.ngx.x86_64、httpd-2.2.15-31.el6.centos.x86_64

数据包流如下

外部 -> nginx:80 -> apache:8080

当我通过http://test.zfanta.com访问服务器时总是遇到403错误

错误日志

[Thu Aug 21 03:34:06 2014] [error] [client 211.49.54.233] (13)Permission denied: access to / denied

nginx 设置

server {
    listen       80;
    server_name  test.zfanta.com;

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location / {
        proxy_pass   http://127.0.0.1:8080;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X_FORWARDED_PROTO http;
        proxy_set_header X-Url-Scheme $scheme;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

apache 设置

Listen 8080

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
</Directory>

<Directory "/home/*/www">
    AllowOverride FileInfo
    Options FollowSymLinks Indexes
    Order allow,deny
    Allow from all
</Directory>

NameVirtualHost *:8080

<VirtualHost *:8080>
    DocumentRoot /home/zfanta/www
    ServerName test.zfanta.com
    ErrorLog logs/test.zfanta.com-error
    CustomLog logs/test.zfanta.com
</VirtualHost>

和/home目录

/家/: lost+found 测试 zfanta

/home/lost+found:

/家/测试: 万维网

/home/test/www: index.html

/home/zfanta: 万维网

/home/zfanta/www: index.php

【问题讨论】:

    标签: linux apache nginx


    【解决方案1】:

    我对此表示怀疑

    Directory "/home/*/www"
    

    会起作用(可能会字面意思应用于目录/home/*/www,但不会扩展)。由于/ 被第一个Directory 禁止,因此您会得到403。请改用以下内容:

    Directory ~ "/home/[^/]+/www"
    

    【讨论】:

    • 即使我添加 选项索引 AllowOverride FIleInfo Order allow,deny Allow from all 它不起作用
    • logs/test.zfanta.com-error 有什么说明吗?你还有其他的 VirtualHost 吗?
    • logs/test.zfanta.com-error 只说 (13)Permission denied。我没有任何其他虚拟主机
    • 如果它没有说“配置拒绝权限”之类的内容,则可能意味着 apache 进程没有对文件/文件夹的读取权限。检查 /home/zfanta/www 及其所有父项上的 apache 用户和/或组的至少 r-x 权限。此外,在 CentOS 上,检查是否启用了 SELinux:检查 sestatus 输出,如果启用,检查 /var/log/audit/audit.log 以查看它是否阻止 apache 访问文件。
    猜你喜欢
    • 1970-01-01
    • 2015-12-30
    • 2015-08-26
    • 2019-10-01
    • 2013-07-12
    • 2021-01-03
    • 2015-05-24
    • 2012-11-04
    • 2017-09-07
    相关资源
    最近更新 更多