SSL 연결을 설정할 수 없습니다. SSL 인증서를 수정하려면 어떻게해야합니까?
나는 wget
내 자신의 상자를 시도하고 있으며 wget의 내부 주소가 될 수 없습니다 (다른 개발자도 말합니다).
내가 wget하면 다음을 얻습니다.
wget http://example.com
--2013-03-01 15:03:30-- http://example.com/
Resolving example.com... 172.20.0.224
Connecting to example.com|172.20.0.224|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://www.example.com/ [following]
--2013-03-01 15:03:30-- https://www.example.com/
Resolving www.example.com... 172.20.0.224
Connecting to www.example.com|172.20.0.224|:443... connected.
OpenSSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
Unable to establish SSL connection.
인증서 설정이 제대로되지 않았기 때문이라고 생각합니다. openssl 사용 :
openssl s_client -connect example.com:443
CONNECTED(00000003)
15586:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:588:
다른 사이트에서 동일한 명령을 수행하면 전체 인증서가 표시됩니다.
아마도 SSL 인증서가 해당 도메인에 대한 Apache의 conf 파일에 설정되지 않았습니까?
그렇다면 가상 호스트에서 무엇을 지정해야합니까? --no-check-certificate
그렇게하고 싶지 않기 때문에 지정하는 것 외에 다른 대안 이 있습니까?
SSL23_GET_SERVER_HELLO : 알 수없는 프로토콜
이 오류는 OpenSSL ServerHello
이 서버에서 이해하는 프로토콜 버전이 아닌 다른 것을 수신 할 때 발생 합니다. 서버가 일반 (암호화되지 않은) HTTP로 응답하는 경우 발생할 수 있습니다. 서버가 예를 들어 TLS 1.2 만 지원하고 클라이언트가 해당 프로토콜 버전을 이해하지 못하는 경우에도 발생할 수 있습니다. 일반적으로 서버는 최소한 SSL 3.0 / TLS 1.0과 역 호환되지만이 특정 서버는 그렇지 않을 수도 있습니다 (구현 또는 구성에 따라).
패스 시도 여부는 불분명합니다 --no-check-certificate
. 그것이 효과가 있다면 나는 오히려 놀랄 것입니다.
간단한 테스트를 사용하는 것입니다 wget
요청에 (또는 브라우저) http://example.com:443
(주의 http://
가 아닌 https://
); 작동하는 경우 포트 443에서 SSL이 활성화되지 않습니다.이를 추가로 디버깅하려면 OpenSSL이 구문 분석 할 수없는 서버 응답의 처음 몇 바이트를 오류 메시지 직전에 덤프하는 옵션 openssl s_client
과 함께 사용 하십시오 -debug
. 이는 특히 서버가 ServerHello
메시지로 응답하지 않는 경우 문제를 식별하는 데 도움이 될 수 있습니다 . 정확히 OpenSSL이 기대되는 것을 확인하려면, 소스를 확인 :보기를위한 SSL_R_UNKNOWN_PROTOCOL
에서 ssl/s23_clnt.c
.
어쨌든 아파치 오류 로그를 보면 약간의 통찰력을 얻을 수 있습니다.
제 경우에는 'default-ssl'사이트를 활성화하지 않았습니다. /etc/apache2/sites-enabled
폴더에 '000-default'만 나열되었습니다 .
Ubuntu 14 LTS, Apache 2.4.7에서 SSL 사이트를 활성화합니다.
a2ensite default-ssl
service apache2 reload
간단한 메모 (및 가능한 원인)입니다.
Apache .conf 파일에서 등을 사용하여 완벽하게 올바른 VirtualHost
설정을 가질 수 있습니다 _default_:443
.
하지만 ... 포트 443을 수신하는 잘못된 설정으로 활성화 된 .conf 파일이 하나라도 있으면 전체 SSL 시스템이 중단됩니다.
따라서 .conf 파일이 정확하다고 확신하면 .conf 파일에서 다른 사이트 .conf 파일을 비활성화 해보십시오 sites-enabled
.
몇 가지 가능성이 있습니다.
워크 스테이션에 서버 인증서에 서명하는 데 사용 된 루트 CA 인증서가 없습니다. 실행중인 OS 및 릴리스 등에 따라 정확히 수정하는 방법(나는 이것이 관련이 없다고 생각합니다)-
인증서가 제대로 설치되지 않았습니다. SSL 인증서에 중간 인증서를 제시해야하지만 설정하지 않은 경우 이러한 경고를받을 수 있습니다. - 포트 443에서 SSL을 활성화 했습니까?
우선 (3)을 제거하기 위해 해당 포트에 텔넷을 연결하면 어떻게됩니까?
(3)이 아니라고 가정하면 필요에 따라 이러한 오류를 무시하고 --no-certificate-check를 통과해도 괜찮을 수 있습니다. 일반 브라우저 (일반적으로 루트 인증서를 직접 번들로 제공)를 사용하고 모든 것이 만족 스러운지 확인하고 싶을 것입니다.
인증서를 수동으로 확인하려면 openssl s_client
출력 에서 더 많은 세부 정보를 게시하십시오 . 또는을 사용 openssl x509 -text -in /path/to/cert
하여 터미널로 인쇄하십시오.
새 EC2 인스턴스를 설정할 때이 문제가 발생했습니다. 보안 그룹에 HTTPS를 추가하지 않았으므로 포트 443이 열리지 않았습니다.
나에게 내 서버의 DNS 이름이 / etc / hosts에 추가되었고 127.0.0.1에 매핑되어 결과적으로
SL23_GET_SERVER_HELLO : 알 수없는 프로토콜
내 실제 DNS 이름을 127.0.0.1로 매핑 제거하면 문제가 해결되었습니다.
나는이 같은 질문을 만난다. 포트 443은 Centos에서 열리지 않았습니다.
다음 명령으로 443 포트를 확인하십시오.
sudo lsof -i tcp : 443
/etc/httpd/conf.d/ssl.conf 의 첫 번째 줄에 다음 두 줄을 추가합니다.
LoadModule ssl_module modules/mod_ssl.so
Listen 443
이 문제는 특별한 경우에만 발생했습니다. 일부 인터넷 공급자의 웹 사이트에 전화했을 때
아파치의 VirtualHost 구성에서 ip v4 만 구성했지만 일부 라우터는 ip v6을 사용하고 ip v6을 아파치 구성에 추가하면 문제가 해결되었습니다.
The problem I faced was in client server environment. The client was trying to connect over http port 80 but wanted the server proxy to redirect the request to some other port and data was https. So basically asking secure information over http. So server should have http port 80 as well as the port client is requesting, let's say urla:1111\subB
.
The issue was server was hosting this on some other port e,g urla:2222\subB
; so the client was trying to access over 1111 was receiving the error. Correcting the port number should fix this issue. In this case to port number 1111.
'program story' 카테고리의 다른 글
연결된 응용 프로그램으로 파일 열기 (0) | 2020.12.11 |
---|---|
플롯 할 matplotlib Axes 인스턴스를 얻는 방법은 무엇입니까? (0) | 2020.12.11 |
.vagrant 파일을 삭제할 때 VM을 어떻게 파괴합니까? (0) | 2020.12.11 |
Scala-Seq의 크기와 길이의 차이점은 무엇입니까? (0) | 2020.12.11 |
OkHttp / Retrofit으로 HTTP 요청을 재 시도하는 방법은 무엇입니까? (0) | 2020.12.11 |