2015-10-16 1 views
1

Je voudrais intégrer des piaulements avec SSL, mais il montre un message d'erreur, Quelqu'un peut-il me dire comment définir la propriété SSL?Comment intégrer Paws avec SSL?

Ci-dessous est mon code

Id = "my_server", 
GconfList = [{logdir, "/Users/james/Documents/workspaces/erlang/embed_yaws/log"}, 
      {ebin_dir, ["/Users/james/Documents/workspaces/erlang/embed_yaws/ebin"]}, 
      {id, Id}], 
Docroot = "/Users/james/Documents/workspaces/erlang/embed_yaws/www", 
SconfList = [ 
     {docroot, Docroot}, 
     {port, 4444}, 
     {listen, {0,0,0,0}}, 
     {ssl,[{keyfile, "/Users/james/Develop/yaws-2.0.2/etc/yaws/yaws-key.pem"}, 
      {certfile, "/Users/james/Develop/yaws-2.0.2/etc/yaws/yaws-cert.pem"}, 
      {depth,0},{dhfile,"/Users/james/Develop/yaws-2.0.2/etc/yaws/dhparams.pem"}]}, 
     {appmods, [{"/rest", myappmod1, []},{"/ws", myws, []}]} 
     ], 
yaws:start_embedded(Docroot, SconfList, GconfList, Id) 

L'erreur partielle est un message ci-dessous

=ERROR REPORT==== 16-Oct-2015::17:10:17 === 
FATAL: {noproc, 
     {gen_server,call, 
      ...... 

=ERROR REPORT==== 16-Oct-2015::17:10:17 === 
** Generic server yaws_server terminating 
** Last message in was {setconf, 
         ......... 
** When Server state == {state,undefined,[],0,true} 
** Reason for termination == 
** {badbind,[{yaws_server,start_group,2, 
         [{file,"src/yaws_server.erl"},{line,271}]}, 
     {lists,filtermap,2,[{file,"lists.erl"},{line,1315}]}, 
     {yaws_server,init2,5,[{file,"src/yaws_server.erl"},{line,248}]}, 
     {yaws_server,handle_call,3, 
         [{file,"src/yaws_server.erl"},{line,314}]}, 
     {gen_server,try_handle_call,4, 
        [{file,"gen_server.erl"},{line,607}]}, 
     {gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,639}]}, 
     {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]} 
+0

Il serait utile que vous fournissiez plus de la partie fatale du message d'erreur, plutôt que de la tronquer. –

+0

Merci, je vais garder à l'esprit. – chengweichao

Répondre

1

L'application ssl ne fonctionne pas. Avant d'appeler yaws:start_embedded/4, commencer ssl comme ceci:

application:ensure_all_started(ssl), 
yaws:start_embedded(Docroot, SconfList, GconfList, Id) 

Si vous utilisez une ancienne version de Erlang qui ne fournit pas application:ensure_all_started/1, ce qui est une version plus ancienne que R16B02, vous pouvez commencer à ssl comme ceci:

[application:start(App) || App <- [crypto, public_key, ssl]], 
+0

Après avoir ajouté l'application: Ensure_all_started (ssl), cela fonctionne et aucun message d'erreur. Merci beaucoup – chengweichao