필자의 경우 도커 컨테이너에서 SSL을 활성화하려고했기 때문에 SSLProxyEngine On , ProxyPreserveHost On 및 RequestHeader를 프론트 엔드 HTTPs를 "on" 으로 설정해야했습니다. [정보 local.hostname.ofDockerHost , 내 경우에는 고정 표시기 컨테이너를 실행하는 호스트 서버의 이름이었다 루카스 , 그리고 고정 표시기 컨테이너의 포트 443에 매핑 포트이었다 1443 포트 443 호스트에서 아파치에서 이미 사용했기 때문에 ( 서버), 그래서 그 줄은 이런 식으로 끝났습니다 https : // lucas : 1443 /
이것은 최종 설정이며 제대로 작동합니다!
<VirtualHost *:443> # Change to *:80 if no https required
ServerName www.somewebsite.com
<Proxy *>
Allow from localhost
</Proxy>
SSLProxyEngine On # Comment this out if no https required
RequestHeader set Front-End-Https "On" # Comment this out if no https required
ProxyPreserveHost On
ProxyPass / http://local.hostname.ofDockerHost:12345/
ProxyPassReverse / http://local.hostname.ofDockerHost:12345/
</VirtualHost>
마지막으로 도커 컨테이너에서 프록시 SSL 헤더를 설정해야했습니다. 필자의 경우 컨테이너는 nginx와 루비 앱을 설정하기 위해 omnibus 라는 것을 실행 했습니다. 나는 이것이 nginx 설정 파일에서도 설정할 수 있다고 생각합니다. 누군가가 도움이되는 경우를 대비하여 적어 두십시오.
nginx['redirect_http_to_https'] = true
nginx['proxy_set_headers'] = {
"Host" => "$http_host",
"X-Real-IP" => "$remote_addr",
"X-Forwarded-For" => "$proxy_add_x_forwarded_for",
"X-Forwarded-Proto" => "https",
"X-Forwarded-Ssl" => "on"
}
nginx['real_ip_trusted_addresses'] = ['10.0.0.77'] # IP for lucas host
nginx['real_ip_header'] = 'X-Real-IP'
nginx['real_ip_recursive'] = 'on'
아파치, ISP 구성, Ubuntu 서버 16.04에 대한 전체 안내서는 https://www.howtoforge.com/community/threads/subdomain-or-subfolder-route-requests-to-running-docker-image.73845/#post-347744