Так что помимо моей работы в качестве разработчика Java, я пытался улучшить свои навыки инфраструктуры. Это привело меня к настройке сервера MacOs дома и запуску некоторых служб из дома. В настоящее время у меня есть три основных сервиса, к которым я хотел бы получить доступ извне, с безопасностью, но у меня есть только один, работающий вне моей сети.
Я постараюсь быть настолько многословным, насколько это возможно, но дайте мне знать, если потребуется дополнительная информация.
Три услуги: SVN, GIT и Дженкинс
Мой сервер работает локально на 10.0.1.11, из моей сети я могу получить доступ к экземпляру Jenkins, работающему на порту 8080, к этому также можно обратиться по адресу 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 admin@example.com
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>