it-swarm.dev

localhost에서 https 서버를 만드는 방법

아래 자습서를 따라 https 서버를 만들었습니다 https://docs.nodejitsu.com/articles/HTTP/servers/how-to-create-a-HTTPS-server/

프로그램은 오류없이 실행됩니다

하지만 크롬에서 https : // localhost : 80 을 열 수 없을 때

항상 ERR_SSL_PROTOCOL_ERROR를받습니다.

enter image description here

33
Littlee

이를 수행하는 빠른 방법 중 하나는 ngrok 입니다.

사용하기 정말 쉽고 몇 초 밖에 걸리지 않습니다. 시스템 버전을 다운로드하는 것만 큼 간단합니다. ngrok.exe의 압축을 풀고 실행하십시오. 명령 행 유형의 창이 열립니다. Apache 서버 또는 사용중인 서버가 실행 중인지 확인하십시오.

그런 다음 HTTPS 터널 엔드 포인트에서만 청취하려면 다음을 실행하십시오.

ngrok http -bind-tls=true site.dev:80

또는 https을 (를) 설치하는 데 필요한 포트.

브라우저를 열고 https://localhost/myApp를 입력하면 작동합니다.

http://localhost/myApp를 입력하면 작동합니다.

이것이 빠른 솔루션을 위해 누구에게나 도움이되기를 바랍니다.

19
Balloon Fight

나는 다음과 같은 설정으로 Caddyserver 를 사용합니다 :

:443
tls self_signed
8
nemo

이것이 테스트 용이고 유효한 인증서가 필요하지 않은 경우 ( "localhost"를 사용하고 있기 때문에 해당되는 것 같습니다) "자체 서명 된"인증서를 사용할 수 있습니다. nginx를 가리 키도록 구성하십시오. 그들에게.

세부 사항을 설명 할 수는 있지만 실제로 Digital Ocean 커뮤니티 자습서에 대한 훌륭한 게시물이 있습니다.

https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-nginx-in-ubuntu-16-04

8000에서 청취하려면 포트 (443)를 조정하십시오.

6
Mikec

Nodejs를 사용한다고 가정하면 http-sever-S or --ssl와 함께 -C & -K이 있으며 https를 활성화합니다

2
Qiulang

다음 두 가지를 수행해야합니다.

  • 자체 서명 된 SSL 인증서를 생성하고
  • 신뢰할 수있는 인증서에 추가

MacOS에서 다음과 같이 관리했습니다.

  • SSL 인증서 생성을 수행하려면 Let 's Encrypt의 지침 에 따라 터미널에서 다음 명령을 실행하십시오.
openssl req -x509 -out localhost.crt -keyout localhost.key \
  -newkey rsa:2048 -nodes -sha256 \
  -subj '/CN=localhost' -extensions EXT -config <( \
   printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")
  • 신뢰할 수있는 인증서에 인증서를 추가하려면 다음 명령을 실행하십시오 ( 이 블로그 ).
Sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" "/private/tmp/certs/certname.cer"
1
Ioanna