다른 모든 도메인을 제한하고 Apache 프록시 구성에서는 ServerName만 제공합니다.

다른 모든 도메인을 제한하고 Apache 프록시 구성에서는 ServerName만 제공합니다.

RHEL 6에서 Apache HTTPD 2.2 웹 서버 및 이름 기반 가상 호스팅을 사용합니다. 내 웹사이트 중 하나에 대한 프록시를 구성하려고 합니다. (참고: Kibana 대시보드의 경우)

<VirtualHost 192.168.12.20:80>
    ServerName admin.kibana.com
    ServerAlias www.admin.kibana.com
    DocumentRoot /opt/kibana
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /opt/kibana>
            Options -Indexes FollowSymLinks -MultiViews
            AllowOverride all
            Order allow,deny
            allow from all
    </Directory>

    ErrorLog logs/admin.error.log
    LogLevel error
    CustomLog logs/admin.log combined

    ProxyRequests off
    ProxyPreserveHost On
    ProxyVia On

    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>

    ProxyPass / http://192.168.12.20:5601/
    ProxyPassReverse / http://192.168.12.20:5601/

</VirtualHost>

C:\Windows\System32\drivers\etc\hosts에 localhost 항목이 있고 페이지와 콘텐츠를 볼 수 있으면 모든 것이 정상입니다.

192.168.12.20  admin.kibana.com  www.admin.kibana.com

이제 진짜 질문이 나옵니다. 다음 도메인을 검색해봐도 해당 웹페이지가 계속 서비스되고 있습니다

kibana.com
admin-kibana-com

재작성 규칙을 사용하면 도움이 되었지만 백엔드 서버에서 실제 애플리케이션 제공이 중단되었습니다. 프록시와 가상 호스트 구성만 사용하여 작업을 수행할 수 있나요? 제안해주세요. 미리 감사드립니다.

답변1

가상 호스트가 1개만 있는 경우 이는 모든 요청에 ​​대한 대체 수단으로 사용됩니다. 당신은 무엇을 할 수 있나요:

  • 다른 모든 도메인에 대해서는 RewriteRule을 거부합니다. 만약 당신의 것이 작동하지 않는다면 아마도 당신이 잘못한 것일 수도 있습니다.

  • 또 다른 기본 VirtualHost는 항상 503을 반환합니다.

https://httpd.apache.org/docs/current/vhosts/examples.html#purename

관련 정보