<VirtualHost *:443>
ServerName host.domain.com
SSLEngine On
SSLProxyEngine On
ProxyRequests Off
ProxyPreserveHost On
SSLCertificateFile /etc/apache2/ssl/domain.pem
SSLCertificateKeyFile /etc/apache2/ssl/domain-private.key
ProxyPass / https://192.168.1.14/
ProxyPassReverse / https://192.168.1.14/
</VirtualHost>
두가지 방법이 존재합니다. 위 방식은 https 로 받아서 https 로 전달하는 방법이고 아래 내용은 http로 받아서 엔드유저단에는 https 로 전달해주는 방법입니다. 즉 중간에 SSL 브릿지 역할만 하게끔 하는것도 SSL 사이트를 구성할수 있는 방법중 하나입니다. 서버에서 SSL 사이트를 구성하지 않아도 중간 프록시단에서 SSL 로 연결해줄수 있는 방법이기도 합니다.
Listen 443
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine On
# Set the path to SSL certificate
# Usage: SSLCertificateFile /path/to/cert.pem
SSLCertificateFile /etc/apache2/ssl/file.pem
# Servers to proxy the connection, or;
# List of application servers:
# Usage:
# ProxyPass / http://[IP Addr.]:[port]/
# ProxyPassReverse / http://[IP Addr.]:[port]/
# Example:
ProxyPass / http://0.0.0.0:8080/
ProxyPassReverse / http://0.0.0.0:8080/
# Or, balance the load:
# ProxyPass / balancer://balancer_cluster_name
</VirtualHost>
자신의 로컬서버가 웹서버까지 존재한다면 127.0.0.1 로컬을 호출하면 설정이 바로 됩니다.
제가 공인IP 한개라서 윈도우 서버 SSL, 및 익스체인지 SSL 및 기타 보안채널을 써야되는 경우가 있는데 SSL 443 포트만 리눅스로 포워딩 해서 프록시 형태로 연결해서 사용하고 있습니다.
즉 10개든 100개든 서버가 받아줄수 있는 성능까지 다 받아준다고 보면 됩니다.
한개의 IP로 SSL을 사용하지 못하는 서비스가 정해졌습니다.
RPC/HTTPS, SSTP, DA 같은 소켓통신 같은 터널형 패킷은 공유할수가 없습니다.