如何在 CentOS 7 上配置 httpd 以作为在端口 8080 上运行的(docker 容器)应用程序的代理。我在想如何让它工作,我的应用程序准备为 docker 的容器(以前从未听说过它 ;))所以首先我必须了解什么是“docker”以及它是如何工作的。(因为应用程序在容器中运行,所以它不允许我使用 https)。所以我做了以下事情来实现它:- 准备好带有 httpd/apache 的 VPS,然后创建 VS - 在 httpd 上安装 SSL 证书。- 安装 Docker - 提取我的应用程序映像...然后为了让 HTTPS 正常工作,我必须重新配置我的 VirtualServer,如下所示
我的 VS 配置(更新的代理)
# HTTP
<VirtualHost *:80>
ServerName myserver.domain.co.uk
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) ht tps://%{SERVER_NAME}/$1 [R,L]
LogLevel warn
ErrorLog myserver.domain.co.uk-error_log
CustomLog myserver.domain.co.uk-access_log combined
</VirtualHost>
# HTTPS
<VirtualHost *:443>
ServerName myserver.domain.co.uk
LogLevel warn
ErrorLog myserver.domain.co.uk-error_log
CustomLog myserver.domain.co.uk-access_log combined
SSLEngine on
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
Header set X-Content-Type-Options "nosniff"
# Reverse proxy configuration
<Proxy *>
Allow from localhost
</Proxy>
ProxyPass / http://127.0.0.1:8080
ProxyPassReverse / http://127.0.0.1:8080
</VirtualHost>
...现在可以正常工作了!