1

我正在尝试配置我的 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>

你认为最好的方法是什么?

4

0 回答 0