ERR_CONNECTION_REFUSED의 GitLab 결과에 대해 SSL 활성화

ERR_CONNECTION_REFUSED의 GitLab 결과에 대해 SSL 활성화

저는 몇 달 동안 기존 GitLab을 설치해 왔으며 이제 실제 SSL 인증서(자체 서명 아님)를 추가해야 한다고 결정했습니다.

문서에 따라 다음 줄을 변경합니다.

external_url 'http://<domain>.com'

에게:

external_url 'https://<domain>.com'

그리고 다음 줄의 주석 처리를 제거했습니다.

nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] "/etc/gitlab/ssl/gitlab.key"

그리고 확실히 하기 위해 주요 파일을 다시 확인했습니다.

root@host:/etc/gitlab# cat /etc/gitlab/ssl/gitlab.crt
-----BEGIN CERTIFICATE-----
...

root@host:/etc/gitlab# cat /etc/gitlab/ssl/gitlab.key
-----BEGIN PRIVATE KEY-----
...

그런 다음 을 실행했고 gitlab-ctl reconfigure마지막에 성공 메시지를 받았습니다. 그러나 GitLab URL로 이동하면 ERR_CONNECTION_REFUSED. 위의 모든 줄을 주석 처리하고 실행하면 gitlab-ctl reconfigure모든 것이 HTTP 포트 80에서 정상으로 돌아갑니다.

구성 파일에 두 개의 인증서를 제공하고 URL을 조정할 때 nginx가 연결을 거부하는 원인은 무엇입니까? 감사해요!

답변1

GitLab이 443을 수신하지 않는 것 같습니다. 80의 리디렉션은 연결 거부를 받는 443으로 보냅니다. 구성에는 한 listen 443줄이 있어야 합니다(참조:http://nginx.org/en/docs/http/configuring_https_servers.html)을 사용하면 SSL 요청을 수신할 수 있습니다.

페이지의 예:

server {
    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.crt;
    ssl_certificate_key www.example.com.key;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    ...
}

관련 정보