2014-03-28 2 views
2

설정하는 것이 얼마나 어려운지는 어리 석다. 나는 지금 3 일 동안 노력했다. 인터넷과이 사이트에 도움을 요청했지만 아무 것도 효과가 없었습니다.Erlang : inets httpd with SSL

내가 원하는 것은 개념적으로 간단합니다. 나는 ssl로 inets httpd 서버를 원한다. 서버를 가동시키는 것은 문제가되지 않습니다 ... 어쨌든 비 SSL입니다. ssl이 추가되면서 작동하지 않습니다.

구성에 어떤 변경을했는지에 따라 어떤 오류가 있는지 물어 보지 마십시오. 여러 오류가 있습니다. 주로 인증서가이를 수행 할 수있는 권한을 부여하지 않는다는 브라우저 오류이거나 변경된 사항이있을 경우 erlang 셸에서 오류 및 프로세스 충돌이 발생합니다.

간단히 말해서 1) 필요한 SSL 인증서, 2) 필요한 형식, 3) httpd 서버 측에서 정확히 필요한 ssl config 옵션을 알고 싶습니다.

아니 아파치와 같은 구성 또는 구성 파일. 프로그래밍 방식으로 설정 옵션을 원합니다.

누구나 도움을받을 수 있다면 나는 모두 귀입니다. 얼랑 R16B03에게 다음과 같은 설정을 사용하여

답변

2

나를 위해 작동합니다

$ openssl genrsa -des3 -passout pass:x -out server.pass.key 2048 
$ openssl rsa -passin pass:x -in server.pass.key -out server.key 
$ openssl req -new -key server.key -out server.csr 
$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 

에서 촬영 :

-module(inets_ssl). 

-export([start/0]). 

start() -> 
    inets:start(), 
    {ok, Pid} = inets:start(httpd, [ 
            {port, 22443}, 
            {server_name,"localhost"}, 
            {server_root,"./"}, 
            {document_root,"./"}, 
            {bind_address, any}, 
            {socket_type, {ssl, [{certfile, "./server.crt"}, 
               {keyfile, "./server.key"}]}}, 
            {mimetypes, [ 
               {"html", "text/html"} 
               ]} 
           ]), 
    Pid. 

cert (는 server.crt)와 key (은 server.key) 파일을 생성 할 수있다 https://devcenter.heroku.com/articles/ssl-certificate-self

index.html 파일이 document_root에 있다고 가정하면 https://localhost:22443/index.html 접근 가능해야한다.

+0

아니요, 작동하지 않았습니다. 나는 다 끝났다고 생각해. Erlang이 아닌 솔루션으로 이동하십시오. – user3355020

+1

파일을 올바른 위치에두고 "./"를' "". "'(아마도 윈도우를 사용하고 있기 때문에?)로 바꾼 후에 예상대로 작동합니다. – Pascal