Я столкнулся с проблемой, которая кажется довольно распространенной, исходя из моих поисков, однако я следил за всеми инструкциями и/или исправлениями, с которыми я столкнулся, но никто не работал для меня поэтому я прошу этого надеяться, что кто-то может вести меня в правильном направлении.Ошибка обратного прокси Jenkins/Apache
У меня есть Jenkins 1.644, установленный на OS X 10.11.2 от Homebrew. Я последовал за these инструкциями по установке и настройке внутри OS X Server 5.0.15. Сайты (я считаю, что в этой версии сервера OS X работает Apache 2.4.16.
Проблема: когда я подключаюсь к консоли управления в Дженкинс, я получаю сообщение об ошибке «оказывается, что ваш обратный прокси настроить сломана.» и ссылку на this jenkins doc.
задерживаясь http://127.0.0.1:8080/manage не вызывает ошибку.
Я добавил настройки прокси-сервера мой файл виртуального хоста следующим образом:
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass/http://localhost:8080/ nocanon
ProxyPassReverse/http://localhost:8080/
ProxyPassReverse/http://jenkins.exampledomain.com/
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
Когда я делаю тест завиток:
curl -iLk -e https://jenkins.exampledomain.com/manage \
https://jenkins.exampledomain.com/administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/test
я получаю следующие результаты:
HTTP/1.1 302 Found
Date: Fri, 22 Jan 2016 06:30:57 GMT
Server: Jetty(winstone-2.9)
X-Content-Type-Options: nosniff
Location: https://jenkins.exampledomain.com/administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/testForReverseProxySetup/https%3A%2F%2Fjenkins.exampledomain.com%2Fmanage/
Content-Length: 0
MS-Author-Via: DAV
HTTP/1.1 404 Not Found
Date: Fri, 22 Jan 2016 06:30:57 GMT
Server: Apache/2.4.16 (Unix) OpenSSL/0.9.8zg
Content-Length: 325
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/testForReverseProxySetup/https://jenkins.exampledomain.com/manage/ was not found on this server.</p>
</body></html>
Очевидно, что адрес на этом сервере, потому что я могу войти в консоль управления, перейдя по правильному адресу ,
Я застрял ... Конфигурация Apache не моя сильная сторона. Я ищу любую помощь.
--edit Больше Info--
Добавление полный виртуальный хост-файл из Интернета// каталог/Library/Server/Config/apache2 сайтов для дальнейшей детализации.
<VirtualHost 127.0.0.1:34543>
ServerName https://jenkins.exampledomain.com:443
ServerAdmin [email protected]
DocumentRoot "/Library/Server/Web/Data/Sites/jenkins.exampledomain.com"
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 On
SSLCipherSuite "ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"
SSLProtocol -ALL +TLSv1
SSLProxyEngine On
SSLCertificateFile "/etc/certificates/machine.local.certCA1FileLocation.pem"
SSLCertificateKeyFile "/etc/certificates/machine.local.certCA2FileLocation.key.pem"
SSLCertificateChainFile "/etc/certificates/machine.local.certCA3FileLocation.chain.pem"
SSLProxyProtocol -ALL +TLSv1
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
</IfModule>
<Directory "/Library/Server/Web/Data/Sites/jenkins.exampledomain.com">
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>
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass/http://localhost:8080/ nocanon
ProxyPassReverse/http://localhost:8080/
ProxyPassReverse/http://jenkins.exampledomain.com/
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
</VirtualHost>
--edit 2 Другой Finding--
Я заметил, пытаясь свернуться к «не нашел» URL выше, что на самом деле сервер отчетов не найден. Если я удалю https://jenkins.exampledomain.com/manage/, я получу 404. Однако, если я отойду от трейлинга /, он будет работать. https://jenkins.exampledomain.com/manage Успешно. Надеюсь, это что-то значит для кого-то!
Благодаря