보고 싶을 수행 할 수 있습니다에서 서로 다른 목적지로 프록시 다른 경로 (서버가 액세스 할 수있는 경우) 로컬 호스트 또는 다른 곳에서도 접근하여 서버가 포함 로컬 네트워크 내에서.
<VirtualHost *:80>
ServerName some.example.host.xyz
DocumentRoot /var/www/your-document-root
Alias /clients/ /var/www/clients/
ProxyPass /clients/ !
ScriptAlias /something-using-cgi/ /var/www/cgi-stuff/
ProxyPass /something-using-cgi/ !
ProxyPreserveHost On
ProxyPass/http://localhost:9876/
ProxyPassReverse/http://localhost:9876/
ProxyPass /elsewhere/ http://elsewhere.example.host.xyz:1234/
ProxyPassReverse /elsewhere/ http://elsewhere.example.host.xyz:1234/
</VirtualHost>
당신은 당신이 그런 외부 사용자 것을 프록시 보안을 설정할 수 있는지 확인하는 것이 좋습니다 :
이를 위해 아래의 예처럼 ProxyPass
(매우 유용 읽고 Apache2 Docs for ProxyPass,)를 사용하는 것 역방향 프록시를 정방향 프록시로 사용할 수 없습니다. 공식 Apache2 문서에 설명 된대로 ProxyRequests
을 통해이를 수행 할 수 있습니다. 서버에서이 작업을 수행하는 방법은 서버 전체의 구성에 넣는 것입니다 (충분히 안전하다는 것을 스스로 확인해야합니다).
# disables forward proxy
ProxyRequests Off
아파치가 좋은 예이지만, 내가 알고있는 모든 대중적인 웹 서버도 이것을 할 수있다. 아파치를 예제로 사용하여 개념을 설명한다면 나는 더 좋아할 것이다. 특히 nginx 또한 게시물에 태그 되었기 때문에. – mvrak
@mvrak : 위의 내용은 Apache를 사용하고 있습니다. 나는 네가 말하는 것을 이해하지 못한다. –
어쩌면 그것은 의미 론적 일 수도 있지만, 대답은 대부분의 웹 서버가 가지고있는 기능보다는 Apache에 매우 특정한 것으로 해석 될 수 있습니다. 예를 들어 Apache의 mod_proxy 모듈이 그 예입니다. – mvrak