Apache2
在 apache 上使用 https 從子域訪問容器
基本上我有一個暴露在 8080 埠上的 docker 容器,它已經有了他的 SSL 證書。我想使用子域訪問該容器而不修改 url 並使用該容器證書。主域已經有他自己的證書,但我想使用 docker 容器之一。換句話說,我希望使用者使用 subdomain.example.com 使用 https 訪問 example.com:8080,但不讓他們知道該重定向。我這樣配置虛擬主機:
<VirtualHost subdomain.example.com:443> ServerAdmin admin@example.com ServerName subdomain.example.com ServerAlias subdomain.example.com ProxyRequests Off #ProxyPass / http://localhost:8080/ <Location /> ProxyPreserveHost On ProxyPass https://example.com:8080/ ProxyPassReverse https:/example.com:8080/ </Location> # Uncomment the line below if your site uses SSL. SSLProxyEngine On </VirtualHost>
但我得到一個 ERR_SSL_PROTOCOL_ERROR。您對我如何實施它有什麼建議嗎?
它不起作用的原因是因為我需要為子域創建一個 SSL 證書(我使用 certbot 來製作它)。最終配置如下所示:
<VirtualHost subdomain.example.com:443> ServerAdmin admin@example.com ServerName subdomain.example.com ServerAlias subdomain.example.com ProxyRequests Off #ProxyPass / http://localhost:8080/ <Location /> ProxyPreserveHost On ProxyPass https://example.com:8080/ ProxyPassReverse https://example.com:8080/ </Location> # Uncomment the line below if your site uses SSL. SSLProxyEngine On SSLCertificateFile /etc/letsencrypt/live/subdomain.example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/subdomain.example.com/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf </VirtualHost>