我如何让牛仔SSL Hello World示例运行?

发布于 2025-01-27 17:55:36 字数 1829 浏览 1 评论 0原文

我是牛仔的新手,正在尝试获取要运行的SSL_Hello_World应用程序的版本。我已经用指向我的证书文件的软链接替换了Priv/SSL目录中的文件。我将toppage_h.erl文件复制到由rebar3生成的src目录中。我在rebar.config文件中包括了牛仔的依赖性。下面的代码在第19行失败。错误表明我对牛仔的使用:start_tls在第19行中有问题。

任何帮助都非常感谢。

exited: {bad_return,
             {{ssl_try_app,start,[normal,[]]},
              {'EXIT',
               {undef,
                [{cowboy,start_tls,
                  [https,
                   [{port,443},
                    {cacertfile,
                     "/home/pseudo/ssl_try/_build/default/lib/ssl_try/priv/ssl/cacert"},
                    {certfile,
                     "/home/pseudo/ssl_try/_build/default/lib/ssl_try/priv/ssl/cert"},
                    {keyfile,
                     "/home/pseudo/ssl_try/_build/default/lib/ssl_try/priv/ssl/privkey"}],
                   #{env => #{dispatch => [{'_',[],[{[],[],toppage_h,[]}]}]}}],
                  []},
                 {ssl_try_app,start,2,
                  [{file,"/home/pseudo/ssl_try/src/ssl_try_app.erl"},
                   {line,19}]},
                 {application_master,start_it_old,4,
                  [{file,"application_master.erl"},{line,277}]}]}}}}

这是源代码。


-behaviour(application).

-export([start/2, stop/1]).

start(_Type, _Args) ->
        Dispatch = cowboy_router:compile([
                {'_', [
                        {"/", toppage_h, []}
                ]}
        ]),
        PrivDir = code:priv_dir(ssl_try),
        {ok, _} = cowboy:start_tls(https, [
                {port, 443},
                {cacertfile, PrivDir ++ "/ssl/cacert"},
                {certfile, PrivDir ++ "/ssl/cert"},
                {keyfile, PrivDir ++ "/ssl/privkey"}
        ], #{env => #{dispatch => Dispatch}}),
        ssl_try_sup:start_link().

stop(_State) ->
    ok.

I'm new to cowboy and am attempting to get a version of the ssl_hello_world app to run. I've replaced the files in the priv/ssl directory with soft links to my certificate files. I've copied the toppage_h.erl file into my src directory generated by rebar3. I've included the dependency for cowboy in the rebar.config file. The code below fails on line 19. The error indicates that there is something wrong with my use of cowboy:start_tls on line 19.

Any help is greatly appreciated.

exited: {bad_return,
             {{ssl_try_app,start,[normal,[]]},
              {'EXIT',
               {undef,
                [{cowboy,start_tls,
                  [https,
                   [{port,443},
                    {cacertfile,
                     "/home/pseudo/ssl_try/_build/default/lib/ssl_try/priv/ssl/cacert"},
                    {certfile,
                     "/home/pseudo/ssl_try/_build/default/lib/ssl_try/priv/ssl/cert"},
                    {keyfile,
                     "/home/pseudo/ssl_try/_build/default/lib/ssl_try/priv/ssl/privkey"}],
                   #{env => #{dispatch => [{'_',[],[{[],[],toppage_h,[]}]}]}}],
                  []},
                 {ssl_try_app,start,2,
                  [{file,"/home/pseudo/ssl_try/src/ssl_try_app.erl"},
                   {line,19}]},
                 {application_master,start_it_old,4,
                  [{file,"application_master.erl"},{line,277}]}]}}}}

Here is the source code.


-behaviour(application).

-export([start/2, stop/1]).

start(_Type, _Args) ->
        Dispatch = cowboy_router:compile([
                {'_', [
                        {"/", toppage_h, []}
                ]}
        ]),
        PrivDir = code:priv_dir(ssl_try),
        {ok, _} = cowboy:start_tls(https, [
                {port, 443},
                {cacertfile, PrivDir ++ "/ssl/cacert"},
                {certfile, PrivDir ++ "/ssl/cert"},
                {keyfile, PrivDir ++ "/ssl/privkey"}
        ], #{env => #{dispatch => Dispatch}}),
        ssl_try_sup:start_link().

stop(_State) ->
    ok.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我纯我任性 2025-02-03 17:55:36

找到了。这是一个版本的问题。牛仔的钢筋依赖性为1.x。该功能在1.x版本中不可用。

现在要解决下一个失败原因。 :)

Found it. It was a versioning problem. The rebar3 dependencies for cowboy were 1.x. The function wasn't available in the 1.x versions.

Now on to the next failure reason. :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文