Nginx 反向代理到 apache 出现故障?

Nginx 反向代理到 apache 出现故障?

我已经将 nginx 设置为我的主要服务器,并且我正在使用它来反向代理端口 :8080 上的 apache 以下是我的 apache.example.io 的 nginx 配置文件

#
# apache.example.io
# Testing apache + nginx
#

server {
        listen 80; 

        root /var/www/apache-example-io; 
        index index.php index.html index.htm;

        server_name apache.example.io www.apache.example.io; 

        location / {
            try_files $uri $uri/ /index.php;
        }   

        location ~ \.php$ {
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header Host $host;
            proxy_pass http://127.0.0.1:8080;
        }

         location ~ /\.ht {
                deny all;
        }
}

这是我的 apache 虚拟主机文件

<VirtualHost 127.0.0.1:8080>
    ServerName apache.example.io
    ServerAlias www.apache.example.io
    ErrorLog /var/www/apache-example-io/errror.log
    DocumentRoot /var/www/apache-example-io/public_html
    <Directory "/var/www/apache-example-io/public_html">
       # Order allow,deny
       # Allow from all
       # New directive needed in Apache 2.4.3: 
       # Require all granted
       AllowOverride All
    </Directory>
</VirtualHost>

如果我去的话这些工作很好http://apache.example.io/index 但如果我访问http://apache.example.io/ 我不确定如何修复此问题,nginx 的错误日志如下所示:

2018/03/14 21:25:24 [错误] 24730#0:6 “/var/www/” 目录索引被禁止,客户端:211。、服务器:apache.example.io、请求:“GET / HTTP/1.1”、主机:“apache.example.io”

通过 Google 搜索并尝试修复,但没有结果 :(

答案1

所以结果是,因为我只是重新路由了所有指向我的服务器的某些域,所以我没有设置默认路由。

我打开了

/etc/nginx/conf.d/默认.conf

并将其添加到:

server {
  listen 80 default_server; 
  return 404;
}

这将强制任何未指定的通配符域和类似域简单地转发到 404。当我想添加新域时,我使用 nginx(NodeJS 应用程序)为其创建一个新文件并转发到该 IP,或者为 PHP 内容服务创建一个 apache 虚拟主机。:)

相关内容