2010-02-05 31 views
9

Phiên bản Erlang: R13B01Định cấu hình Erlang để hoạt động với SSL

Hiện tại tôi đang cố gắng làm cho Erlang hoạt động với SSL. Phần lập trình rất dễ, nhưng bây giờ khởi động hệ thống SSL cho phép thì không.

Tiếp theo Erlang SSL documentation:

1 - Made file start_ssl.rel

{release, {"OTP APN 181 01","R13B01"}, {erts, "5.7.2"}, 
[{kernel,"2.13.2"}, 
    {stdlib,"1.16.2"}, 
    {sasl,"2.1.6"}, 
    {os_mon,"2.2.2"}, 
    {ssl,"3.10.3"}]}. 

2 - đã thi lệnh sau

1> systools:make_script("start_ssl",[]). 

Theo tài liệu, chạy vỏ sẽ đầu ra này (đầu ra này là từ tài liệu, không phải của tôi):

$ erl -boot /home/me/ssl/start_ssl 
Erlang (BEAM) emulator version 5.0 

Eshell V5.0 (abort with ^G) 
1> whereis(ssl_server). 
<0.32.0> 

Nhưng, tôi nhận này thay vì:

erl -boot start_ssl 
Erlang R13B01 (erts-5.7.2) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false] 
1> whereis(ssl_server). 
undefined 
2> 

Vì vậy, bây giờ, các bước còn lại đang thất bại quá. Đáng buồn thay, không có tài liệu cũng như chủ đề diễn đàn trên web với cùng một vấn đề.

Bất kỳ mẹo nào?

+1

Tôi không có câu trả lời cho bạn, nhưng tôi có thể đưa ra một số nhận xét. Đầu tiên, script khởi động cần một phần mở rộng .rel, không phải. Thứ hai, BEAM 5.0 thực sự, thực sự cũ - khoảng R7B, một thập kỷ trước. Có thể các vấn đề bạn đang gặp phải là do sự không phù hợp giữa cách mọi thứ được sử dụng để hoạt động cho đến nay và cách chúng hoạt động. Tôi muốn đề nghị hỏi về danh sách gửi thư để xem liệu ai đó biết cách mọi thứ hoạt động ngay bây giờ có thể cập nhật tài liệu hay không. –

+0

Xin lỗi, .erl là lỗi đánh cắp, sửa lỗi. Beam 5.0 là từ tài liệu hướng dẫn, tôi đang sử dụng tài liệu đi kèm với B13B01 – scooterman

+0

Tôi biết. Tôi đang nói rằng trang đó dường như đã được xúc động lần cuối khi R7 là hiện tại, vì vậy không có gì lạ khi nói nó không còn hoạt động nữa. –

Trả lời

4

Vâng, sau khi một số thử và sai, tôi đã quản lý để khởi động hệ thống:

application:start(ssl) 

và đi qua tất cả các chứng khi tạo ổ cắm nghe

ssl:listen(Port, ?TCP_OPTIONS ++ [{ip, Host},{verify, 0}, 
             {depth, 0}, 
             {cacertfile, Cacertfile}, 
             {certfile, Certfile}, 
             {keyfile, Keyfile}]) 

Nó làm việc :)

Các vấn đề liên quan