Frage

Ich habe eine kleine eScript Datei, die eine Verbindung zu einem Knoten und hat einige RPCs und so ...

Es funktioniert gut für kurze oder longnames sondern stützt sich auf Standard-HTTP Comms für verteilte Erlang.

Ich mag es zu benutzen, aber mit https / SSL für den Vertrieb.

Um ein ‚normales‘ Erlang-System mit SSL starten Sie in den verschiedenen Flaggen passieren müssen Erlang sagen, so laufen, wie die Dokumentation schlägt vor:

$ ERL_FLAGS="-boot \"/home/me/ssl/start_ssl\" -proto_dist inet_ssl 
  -ssl_dist_opt client_certfile \"/home/me/ssl/erlclient.pem\" 
  -ssl_dist_opt server_certfile \"/home/me/ssl/erlserver.pem\" 
  -ssl_dist_opt verify 1 -ssl_dist_opt depth 1"
$ export ERL_FLAGS
$ erl -sname ssl_test

Dies ersetzt den Standard-Verteilungsmechanismus (inet_tcp_dist) mit dem ssl einer (inet_ssl_dist).

eScript betreibt eine erlang-Datei als Shell-Scripting-Datei.

Meine Fragen sind:

  • ist es möglich, den Erlang ‚Umwelt‘ zu erhalten, in denen laufen Escript den sicheren Verteilungsmechanismus verwenden anstelle des Standard ein?
  • und wenn ja, wie würde ich es tun?
War es hilfreich?

Lösung

Sie können diese Flags über die Umwelt gesetzt haben, können Sie diese auch direkt an erl passieren finden Sie unter ch. 1.4 hier . erl Fahnen können übergeben werden eScript über die %%! Argument Zeile.


z.escript

#!/usr/bin/env escript
%%! -boot start_ssl -proto_dist inet_ssl -ssl_dist_opt client_certfile /home/me/ssl/erlclient.pem -ssl_dist_opt server_certfile /home/me/ssl/erlserver.pem -ssl_dist_opt verify 1 -ssl_dist_opt depth 1
main(_) ->
    io:format("~p~n", [init:get_arguments()]).

zed@zed:~$ ./z.escript 
[{root,["/opt/erlang-R13B03/lib/erlang"]},
 {progname,["erl"]},
 {home,["/home/zed"]},
 {boot,["start_clean"]},
 {noshell,[]},
 {boot,["start_ssl"]},
 {proto_dist,["inet_ssl"]},
 {ssl_dist_opt,["client_certfile","/home/me/ssl/erlclient.pem"]},
 {ssl_dist_opt,["server_certfile","/home/me/ssl/erlserver.pem"]},
 {ssl_dist_opt,["verify","1"]},
 {ssl_dist_opt,["depth","1"]}]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top