我正在尝试配置我的 docker GitLab CE(最新)实例,该实例与作为 docker 一部分的集成letsnecrypt一起使用,以便在由 Apache 2.4 代理的子域下将其验证为 HTTPS。
我希望它通过 Apache 的原因是,在这个环境中,有一个网页正在运行,它声称端口 80、443 等。所以,为了让我拥有两者,我已将 docker 的端口映射到 443:444 和 80: 3000。
通过 apache 的虚拟主机命名,我有以下配置:
<VirtualHost domain.com:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
<VirtualHost gitlab.domain.com:80>
ServerAdmin webmaster@localhost.com
ProxyPreserveHost On
ProxyPass "/" "http://public-ip:3000/"
ProxyPassReverse "/" "http://public-ip:3000/"
ServerName gitlab.domain.com
</VirtualHost>
<VirtualHost gitlab.domain.com:443>
ServerAdmin webmaster@localhost.com
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
ProxyPreserveHost On
ProxyPass "/" "http://public-ip:3000/"
ProxyPassReverse "/" "http://public-ip:3000/"
ServerName gitlab.domain.com
</VirtualHost>
你认为最好的方法是什么?