![Apache 反向代理 Mac OS 服务器](https://linux22.com/image/1527902/Apache%20%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%20Mac%20OS%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
因此,除了从事 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>