我想使用erlcloud将对象上传到RiakCS,但似乎erlcoud默认使用SSL。因此,我尝试按照basho's document的指示配置RiakCS以使用SSL。
stanchion_ssl = on
ssl.certfile = "./cert.pem"
ssl.keyfile = "./key.pem"
但是按照说明here
后,我没有运气让erlcloud与RiakCS合作iex(1)> access_key_id = System.get_env("AWS_ACCESS_KEY_ID") |> String.to_char_list
iex(2)> secret_access_key = System.get_env("AWS_SECRET_ACCESS_KEY") |> String.to_char_list
iex(3)> endpoint = System.get_env("IDCF_ENDPOINT") |> String.to_char_list
iex(4)> port = System.get_env("IDCF_PORT") |> String.to_integer
8080
iex(6)> :erlcloud_s3.configure(access_key_id, secret_access_key, endpoint, port)
:ok
iex(7)> :erlcloud_s3.create_bucket('test2.media')
** (ErlangError) erlang error: {:aws_error, {:socket_error, {:nxdomain, [{:lhttpc_client, :send_request, 1, [file: 'src/lhttpc_client.erl', line: 222]}, {:lhttpc_client, :execute, 9, [file: 'src/lhttpc_client.erl', line: 171]}, {:lhttpc_client, :request, 9, [file: 'src/lhttpc_client.erl', line: 93]}]}}}
(erlcloud) src/erlcloud_s3.erl:1036: :erlcloud_s3.s3_request/8
(erlcloud) src/erlcloud_s3.erl:1005: :erlcloud_s3.s3_simple_request/8
iex(7)> :erlcloud_s3.create_bucket('test5')
** (ErlangError) erlang error: {:aws_error, {:socket_error, :connection_closed}}
(erlcloud) src/erlcloud_s3.erl:1036: :erlcloud_s3.s3_request/8
(erlcloud) src/erlcloud_s3.erl:1005: :erlcloud_s3.s3_simple_request/8
iex(7)>
检查lhttpc_client文件的第222行
之后这似乎是一个SSL问题。但我无法弄明白。
也许我应该弄清楚如何以一般方式配置SSL?
例如,让nginx使用SSL吗?