
ProxyPreserveHost 옵션은 Apache 서버가 클라이언트의 Host 헤더 값을 원본 서버로 전달할 수 있도록 도와주는 옵션입니다.
이 옵션을 사용하는 이유는, 원본 서버가 Host 헤더 값을 기반으로 리소스를 제공할 때, Apache 서버가 Host 헤더 값을 변경하지 않도록 하기 위함입니다.
예를 들어, 클라이언트가 www.example.com으로 요청을 보내면, Apache 서버가 ProxyPreserveHost 옵션을 사용하지 않았을 때, Host 헤더 값은 example.com으로 변경되어 원본 서버로 전달됩니다.
그러나 ProxyPreserveHost 옵션을 사용하면, Host 헤더 값은 www.example.com으로 유지되어 원본 서버로 전달됩니다.
ProxyPreserveHost 옵션을 사용하지 않을 때, Host 헤더 값이 변하는 이유는 Apache 서버가 기본적으로 Host 헤더 값을 변경하는 방식으로 동작하기 때문입니다.
Apache 서버는 Host 헤더 값을 변경하는 이유는, 리소스를 제공하는 원본 서버가 Host 헤더 값을 기반으로 리소스를 제공할 때, Host 헤더 값을 변경하지 않도록 하기 위함입니다.
그러나 ProxyPreserveHost 옵션을 사용하지 않았을 때, Apache 서버가 Host 헤더 값을 변경하는 것은 원본 서버가 Host 헤더 값을 기반으로 리소스를 제공하지 않는 경우에 해당합니다.
예를 들어, 원본 서버가 Host 헤더 값을 기반으로 리소스를 제공하지 않는 경우, Apache 서버가 ProxyPreserveHost 옵션을 사용하지 않았을 때, Host 헤더 값은 변경되지 않습니다.
ProxyPreserveHost 옵션을 사용하는 것은 원본 서버가 Host 헤더 값을 기반으로 리소스를 제공하는 경우에 해당하므로, 이 옵션을 사용하는 것이 좋습니다.
Apache 서버의 ProxyPreserveHost 옵션을 사용하는 예시입니다.
#hostingforum.kr
bash
ServerName www.example.com
ProxyPass / http://example.com/
ProxyPreserveHost on
이 예시에서는 ProxyPreserveHost 옵션을 사용하여 Host 헤더 값을 원본 서버로 전달합니다.
2025-05-31 01:44