2014-05-15 3 views
2

나는이 글을 읽었지만 내 경우에는 정확히 무엇이 잘못되었는지 밝히지 않았습니다. /etc/apache2/sites-available/gerrit이라는 새 구성 파일을 만들고 /etc/apache2/sites-enabled/에 심볼릭 링크를 만듭니다. 파일은 다음과 같습니다.HTTP 인증을 사용하는 Gerrit가 구성 오류를 발생시킵니다.

<VirtualHost *:80> 
     ProxyRequests Off 
     ProxyVia Off 
     ProxyPreserveHost On 

     ServerName localhost 

     <Location "/r/login/"> 
      AuthType Basic 
      AuthName "Gerrit Code Review" 
      AuthBasicProvider file 
      AuthUserFile /home/gerrit/passwd/passwords 
      Require valid-user 
     </Location> 

     AllowEncodedSlashes On 
     ProxyPass /r/ http://localhost:8900/r/ nocanon 
     <Proxy *> 
       Order deny,allow 
       Allow from all 
     </Proxy> 
</VirtualHost> 

htpasswd -c /home/gerrit/passwd/passwords <user-name>을 사용하여 암호 파일을 만들었습니다.

내 gerrit 구성은 다음과 같습니다.

[gerrit] 
     basePath = git 
[database] 
     type = mysql 
     hostname = localhost 
     database = reviewdb 
     username = gerrit 
[auth] 
     type = HTTP 
[sendemail] 
     smtpServer = localhost 
     smtpUser = [email protected] 
[container] 
     user = gerrit 
     javaHome = /usr/lib/jvm/java-6-openjdk/jre 
[sshd] 
     listenAddress = *:29418 
[httpd] 
     listenUrl = proxy-http://localhost:8900/r/ 
[cache] 
     directory = cache 

구성 파일의 모든 부분을 정확하게 이해하지 못합니다. 리트 및 다시로드 설정/다시 시작 아파치 서버를 모두 다시 시작 한 후, 나는 http://localhost:8900/r/ 접근 시도, 그것은 http://localhost:8900/r/login/로 리디렉션하고 리트에 요청을 전달하는 경우

는 HTTP 서버가 인증 헤더에 사용자 이름을 제공하지 않았다고 코드 검토. HTTP 서버가 하나로 아파치 경우

그것은 '/'로 끝 을 보장 적절한 위치로 인증 지정을 포함하는 프록시 구성을 확인 :

친절 포인트 끝맺음 에러! 감사합니다

답변

0

http://localhost/r/ (포트 80)을 통해 액세스해야합니다. 그렇지 않으면 Apache 프록시가 사용자를 인증하지 않습니다.

+0

괜찮 오. 그것은 나에게 페이지를 리디렉션하지는 않지만. 내가 config를 로 변경하고,'http : // localhost : 8901/r /'에 접근했지만 config를 다시로드했지만 연결을 거부합니다. – user592748

+0

아마도 아파치 문제 일 겁니다. 하지만 궁금한 점은 왜 아파치가 80 번 포트를 고수하지 않는지입니다. – StephenKing

+0

포트 80에 액세스 할 때 Apache의 기본 페이지를 제공합니다. – user592748

0

내 게릿 버전은 v2.16.4입니다. 처음에는 동일한 "구성 오류"페이지가 있지만 다음 변경 사항을 수행 한 후에도 마찬가지입니다.
1. VI 해결 오류 위

changed VirtualHost *:82 and add Listen 82 

2. 구성 /home/gerrit2/gerrit_site/etc/gerrit.config

[gerrit] 
    basePath = git 
    serverId = 41b98026-b39d-4c6c-bb9e-88b89a304727 
    canonicalWebUrl = http://your-gerrit-ip:8088/ 
[database] 
    type = mysql 
    hostname = yczc5 
    database = reviewdb 
    username = gerrit2 
[index] 
    type = LUCENE 
[auth] 
    type = HTTP 
[receive] 
    enableSignedPush = false 
[sendemail] 
    smtpServer = yczc5 
[container] 
    user = gerrit2 
    javaHome = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64/jre 
[sshd] 
    listenAddress = *:29418 
[httpd] 
    listenUrl = proxy-http://*:8088/ 
[cache] 
    directory = cache 

/etc/httpd/conf/httpd.conf 파일을 수행해야 아마도에서 옵션을 확인 [리트][아파치]