Apache 反向代理 Mac OS 服务器

Apache 反向代理 Mac OS 服务器

因此,除了从事 Java 开发工作之外,我还在努力提高自己的基础设施技能。这让我在家里设置了 MacOs 服务器,并开始在家里运行一些服务。目前,我有三个主要服务想要安全地从外部访问,但我只有一项服务在我的网络之外运行。

我会尝试尽可能详细地说明,但如果需要更多信息,请告诉我。

这三个服务分别是:SVN、GIT 和 Jenkins

我的服务器在本地运行在 10.0.1.11,从我的网络内部,我可以访问在端口 8080 上运行的 Jenkins 实例,也可以通过 xyz.ddns.net:8080 访问。SVN 是通过 webdav 设置的,可以通过 xyz.ddns.net/svn 访问。但是,我在设置 git 以供外部访问以及在某个地址访问 Jenkins 时遇到了问题。

我想通过 xyz.ddns.net/svn 访问这三个服务 - 它可以使用基本身份验证 xyz.ddns.net/jenkins - 它根本不起作用,但我可以从端口 8080 访问 xyz.ddns.net/git - 我根本无法从外部访问

我的git服务器基于bitnami gitlab镜像,本地位于10.0.1.35。

下面是我的 httpd 文件,其中大部分是 MacOS Server 生成的默认内容。所有内部地址都工作正常,我只想让它们在外部可访问,最好是使用基本身份验证。

非常感谢您的任何提示或链接,我已经看了好几天了,但一点进展都没有。

<VirtualHost 127.0.0.1:34580>
    ServerName default
    ServerAdmin [email protected]
    DocumentRoot "/Library/Server/Web/Data/Sites/Default"
    DirectoryIndex index.html index.php default.html
    CustomLog "/var/log/apache2/access_log" combinedvhost
    ErrorLog "/var/log/apache2/error_log"

    <IfModule mod_ssl.c>
            SSLEngine Off
            SSLCipherSuite "HIGH:MEDIUM:!MD5:!RC4:!3DES"
            SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
            SSLProxyEngine Off
            SSLProxyProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
            SSLProxyCheckPeerCN off
            SSLProxyCheckPeerName off
    </IfModule>
    <IfModule mod_secure_transport.c>
            MSTEngine Off
            MSTCipherSuite HIGH, MEDIUM
            MSTProtocolRange TLSv1.2 TLSv1.2
            MSTProxyEngine On
            MSTProxyProtocolRange TLSv1.2 TLSv1.2
    </IfModule>
    <Directory "/Library/Server/Web/Data/Sites/Default">
            Options All -Indexes -ExecCGI -Includes +MultiViews
            AllowOverride None
            <IfModule mod_dav.c>
                    DAV Off
            </IfModule>
            <IfDefine !WEBSERVICE_ON>
                    Require all denied
                    ErrorDocument 403 /customerror/websitesoff403.html
            </IfDefine>
    </Directory>



    ProxyPass /svn/projects http://www.server.com/svn/projects/
    ProxyPassReverse /svn/projects http://www.server.com/svn/projects/


    ProxyPass /jenkins/ http://www.server.com:8080/
    ProxyPassReverse /jenkins/ http:/www.server.com:8080/

    ProxyPass /git/ https://10.0.1.35/
    ProxyPassReverse /git/ https://10.0.1.35/


    RewriteEngine On
    RewriteCond %{HTTP_HOST} !(^localhost|^127.0.0.1|^::1)
    RewriteCond %{REQUEST_URI} !^/netboot/ [NC]
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R]
</VirtualHost>

相关内容