여러 파일에 걸쳐 동일한 가상 호스트 구성 분할

여러 파일에 걸쳐 동일한 가상 호스트 구성 분할

내 서버에는 서로 다른 포트에 바인딩된 자체 가상 호스트 내에서 각각 실행되는 여러 장고 응용 프로그램이 있습니다. (각 WSGIProcessGroup을 분리하기 위해 이 작업을 수행합니다).

이제 단순화를 위해 각 애플리케이션을 포트 80으로 프록시하고 싶습니다.

하나의 애플리케이션에 대해 다음과 같은 작업을 수행합니다.

Listen 8101
<VirtualHost 127.0.0.1:8101>
    WSGIProcessGroup app1
    WSGIDaemonProcess app1 display-name=%{GROUP}
    WSGIScriptAlias /app1 "/var/django_apps/app1/app1.wsgi"
</VirtualHost>

<VirtualHost *:80>
    ProxyPass /app1 http://localhost:8101/app1
    ProxyPassReverse /app1 http://localhost:8101/app1
</VirtualHost>

이제 일부 애플리케이션을 간단히 활성화하거나 비활성화하기 위해 다른 앱이 실행 중일 때 다음을 포함하는 또 다른 .conf 파일이 있습니다.

Listen 8102
<VirtualHost 127.0.0.1:8102>
    WSGIProcessGroup app2
    WSGIDaemonProcess app2 display-name=%{GROUP}
    WSGIScriptAlias /app2 "/var/django_apps/app2/app2.wsgi"
</VirtualHost>

<VirtualHost *:80>
    ProxyPass /app2 http://localhost:8102/app2
    ProxyPassReverse /app2 http://localhost:8102/app2
</VirtualHost>

하지만 이 두 번째는 <VirtualHost *:80>사용되지 않습니다. 이는 Apache 구성 구문을 고려하면 정상적인 것처럼 보입니다.

하지만, 이 구성 비트를 애플리케이션 선언 바로 옆에 두어 단 하나의 파일에 함께 속하는 항목을 포함할 수 있기를 바랍니다.

그 문제에 대해 제가 할 수 있는 일이 있을까요? 어떻게든 include 지시문을 사용하려고 생각했지만 Apache 구성에 대한 지식이 거의 없고 혼자서 해결책을 찾을 수 없을 것 같습니다. :)

어떻게 생각하나요?

건배

답변1

지시어 include를 사용하면 다음과 같이 프록시 구성을 구성할 수 있습니다.

프록시.conf:

<VirtualHost *:80>
    Include app1_proxy.conf
    Include app2_proxy.conf
</VirtualHost>

app1_proxy.conf:

ProxyPass /app1 http://localhost:8101/app1
ProxyPassReverse /app1 http://localhost:8101/app1

app2_proxy.conf:

ProxyPass /app2 http://localhost:8102/app2
ProxyPassReverse /app2 http://localhost:8102/app2

관련 정보