이 사람이 나를 괴롭 히고 있습니다. EC2에서 컨텐트를 제공하는 활성 및 사용중인 Apache 프록시 서버가 있습니다. 큰 작업과 같이 구성되어있는 가상 호스트에서의 숙박을 것 :Apache ProxyPass가 일관되게 실패했습니다.
<VirtualHost *:80>
ServerName m.FOO.com
ServerAlias customer.FOO.com
ProxyPreserveHost On
ProxyPass/ajp://10.211.42.48:8009/
ProxyPassReverse/ajp://10.211.42.48:8009/
<Proxy ajp://10.211.42.48:8009/*>
Order allow,deny
Allow from all
</Proxy>
</VirtualHost>
다음은 모두 잘 작동, 나는 아무런 문제가없는거야. 이제는 각 응용 프로그램에 대한 단일 가상 호스트 대신에 응용 프로그램 서버로 프록시를 이동하는 기본 사이트에서 하위 URL을 갖고 싶습니다. 그래서 'customer.FOO.com'을 가진 고객 대신 'FOO.com/customer/'가 표시됩니다.
정말 쉽고, 맞습니까? 그래,별로. 나는 (현재 랜딩 페이지를 보여주고있는) 서버의 'root'에 대한 가상 호스트 항목을 편집하고 그 안에있는 디렉토리에 프록시 항목을 추가한다. 그럴 거예요, 그렇죠? 그것은 앞으로 제대로 프록시, 모두가 잘 - 나는 내부 웹 서버를 얻을 - 내가 http://www.FOO.com/t/ 충돌하는 경우
<VirtualHost *:80>
ServerName web01.aws.FOO.com
DocumentRoot /var/www/html
ErrorLog logs/www.FOO.com-error_log
CustomLog logs/www.FOO.com-access_log common
<Location /a>
ProxyPass ajp://10.211.42.48:8009
ProxyPassReverse ajp://10.211.42.48:8009
</Location>
<Location /t>
ProxyPass http://adm01
ProxyPassReverse http://adm01
</Location>
<Proxy ajp://10.211.42.48:8009/*>
Order allow,deny
Allow from all
</Proxy>
</VirtualHost>
: 네, 없습니다. http://www.FOO.com/a/을 클릭하면 404 오류가 발생합니다. 액세스 로그에 404 오류가 표시됩니다.
ProxyPass AJP 항목은 다른 vhost 항목의 내용과 동일합니다. 그렇다면 왜 다른 가상 호스트 항목의 루트에서 작동합니까? 그리고 메인 가상 호스트에서 하위 디렉토리로 작동하지 않는 이유는 무엇입니까?
하프!
Whish 나는 5 시간 전에 이것을 읽었습니다. :) http://alex.eftimie.ro/2013/03/21/how-to-run-flask-application-in-a-subpath-using-apache-mod_proxy / – alexef