Apache에 대한 Nginx 리버스 프록시가 작동합니까?

Apache에 대한 Nginx 리버스 프록시가 작동합니까?

저는 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;
        }
}

그리고 여기 아파치 가상 호스트에 대한 내 파일이 있습니다

<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 하지만 방문하면 403 nginx 오류가 발생합니다.http://apache.example.io/ 이 문제를 해결하는 방법을 잘 모르겠습니다. nginx의 오류 로그는 다음과 같습니다.

2018/03/14 21:25:24 [오류] 24730#0:"/var/www/"의 6개 디렉터리 인덱스는 금지되어 있습니다. 클라이언트: 211., 서버: apache.example.io, 요청: "GET / HTTP/1.1", 호스트: "apache.example.io"

인터넷 검색을 통해 수정을 시도했지만 성과가 없는 것으로 나타났습니다.

답변1

그래서 내가 가지고 있는 특정 도메인을 내 서버로 직접 다시 라우팅했기 때문에 기본 경로를 설정하지 않은 것으로 나타났습니다.

내가 열었다

/etc/nginx/conf.d/default.conf

그리고 다음 내용을 추가했습니다.

server {
  listen 80 default_server; 
  return 404;
}

이렇게 하면 지정되지 않은 와일드카드 도메인 등이 단순히 404로 전달됩니다. 새 도메인을 추가하려는 경우 nginx(NodeJS 애플리케이션)를 사용하여 새 파일을 만들고 해당 IP로 전달하거나 PHP 콘텐츠 제공을 위한 Apache 가상 호스트. :)

관련 정보