首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SSL发行版运行Escript文件

使用SSL发行版运行Escript文件
EN

Stack Overflow用户
提问于 2010-01-08 21:22:52
回答 1查看 1K关注 0票数 2

我有一个小的文本文件连接到一个节点并做一些rpc调用之类的.

它对短名或长名很好,但对于分布式Erlang则依赖于标准的http通信。

我想使用它,但是使用https/SSL作为发行版。

要用SSL启动“正常”的Erlang系统,您必须传递各种标志才能告诉Erlang以这种方式运行,正如文档所建议的:

代码语言:javascript
复制
$ 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

这将将默认分发机制(inet_tcp_dist)替换为ssl (inet_ssl_dist)。

抄本以shell脚本文件的形式运行erlang文件。

我的问题是:

  • 是否有可能获得Erlang‘环境’,在这个环境中,escript运行的是安全分发机制,而不是默认的分发机制?
  • 如果是的话,我会怎么做呢?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-08 22:17:48

您不必通过环境设置这些标志,也可以直接将它们传递给erl,请参阅ch.1.4这里erl标志可以通过%%!参数行传递给抄本

z.escript

代码语言:javascript
复制
#!/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()]).
代码语言:javascript
复制
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"]}]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2030838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档