问题标签 [plack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
698 浏览

perl - 如何将 Plack::Middleware::CSRFBlock 与 Dancer 一起使用?

我想用Dancer.

我尝试使用Plack::Middleware::CSRFBlock,但错误提示“CSRFBlock 需要 Session。”。即使我使用Plack::Session,表单也没有包含一次性标记的隐藏输入字段。

有什么好的做法可以做到这一点吗?非常感谢任何建议。

environment/development.yml的是:

路线是:

0 投票
1 回答
595 浏览

perl - 如何让我的 Poet 网站在 Apache2 下运行?

如果我目前有一个 Poet 网站在独立的 plackup 服务器下运行(通过 run.pl),我如何配置 Apache2 来托管这个 Poet 网站?

搜索“+apache2 +poet”会检索到大量关于使用 Apache2(以发表他们的诗歌)的诗人的结果,以及诸如“Mason 2 will work with Apache/mod_perl 1”之类的文章。然后有诸如http://metacpan.org/pod/PSGI::FAQ之类的文档告诉我“在 Plack 中,我们已经支持大多数 Web 服务器,例如 Apache2”,但没有提供有关如何提供此类支持的任何细节。

为了让我现有的 Poet 网站在 Apache 下运行,我需要的最小 Apache2 配置文件是什么?

这是我现有的项目布局:

这是我的起始 httpd.conf 文件:

只要有一些迹象表明我需要指向 Poet 网站的哪个部分以获取诸如http://foo.local/ponies/之类的 URL来生成内容,我们将不胜感激。由 生成…/Ponies/poet/comps/index.mc

0 投票
1 回答
634 浏览

perl - Plackup 和 Starman 下的舞者;分叉会留下失效的starman进程吗?

作为我在此处的另一个问题的后续行动:使用 Perl 的 Dancer 在子进程中分叉运行代码- 如何分叉在 plackup/starman/dancer 下运行的请求而不会导致子进程处于僵尸状态?

例如我正在尝试做的事情:

};

... 导致 starman 工人被回收,但剩余的 plakup 过程失效。

从 perlipc,我也尝试过设置$SIG{CHLD} = "IGNORE",但无济于事。

0 投票
1 回答
309 浏览

perl - 当 Starman 收到 HUP 时 ZMQ 套接字阻塞

我有以下代码。我想$pub->close在starman服务器接收到HUP信号时调用该方法。

  • 我怎么知道子进程结束了?
  • 我可以使用 END {} 块吗?我试过这个,它似乎在 plackup 重新启动时工作(在编辑之后)。我用starman试过这个。我发送了 HUP 信号,但孩子们没有重新启动。
  • 我应该为 HUP 安装信号处理程序吗?这是如何运作的?

我想在孩子重新启动之前进行清理,如果我不这样做,子进程将阻塞。

这是我使用的 .psgi 文件。

0 投票
1 回答
115 浏览

perl - 将 Plack::Middleware::DBIC::QueryLog 与 Dancer webapp 一起使用

我正在尝试在舞者应用程序中使用Plack::Middleware::DBIC::QueryLog 。文档告诉我获取这样的查询日志:

在我的舞者应用程序中,在访问我的数据库模式之前,我必须设置$schema->storage->debugobjQueryLogger. 我的问题是:如何访问$envPlack 提供的包含我应该使用的 QueryLog 对象的环境?

我正在开始我的舞者应用程序

其中app.pl包含默认值

0 投票
1 回答
145 浏览

movabletype - 带有 PSGI/Plack 的可移动类型 5.2.3 中的警告

我在 Apache 反向代理后面的 PSGI/Plack 下运行 MT-5.2.3。服务器是 Starman。Plack 日志显示每个呼叫的警告:

警告:自动将 Plack::App::Directory 实例转换为 PSGI 代码引用。如果您在每个请求中都看到此警告,您可能需要在 PSGI 文件中显式调用 to_app() 即 Plack::App::Directory->new(...)->to_app。

我应该怎么做才能解决这个问题?AFAICS,股票 mt.psgi 已经调用MT::PSGI->to_app().

谢谢你。

0 投票
1 回答
253 浏览

perl - Plack::Builder - 最后一行没有使用 mount - 错误消息

拥有下一个简单的 Plack 应用程序:

返回的错误:

但是下一个构建器块是可以的。

我比Plack::Builder 手册说的更了解

注意:在构建器代码中使用 mount 后,您必须对所有路径使用 mount,包括根路径 (/)。

但是在for循环中,我将/坐骑作为最后一个:qw( /some/aa /another/bb / ),所以幕后有一些东西。

有人可以解释一下吗?

0 投票
3 回答
3332 浏览

perl - 你如何停止 perl Dancer/Starman/Plack 服务器?

我使用以下方法启动了 Dancer/Starman 服务器:

但我不确定如何停止服务器。有人可以为我提供一种快速的方法来阻止它以及它产生的所有工人吗?

0 投票
1 回答
700 浏览

perl - 部署 mojolicious 应用的多个实例

我在 Windows XP、草莓 perl 5.14.2 和 Mojolicious 版本 3.84 上开发了一个 Mojolicious 应用程序。为了获得高性能,我想创建这个应用程序的多个实例,并在不同的端口但在同一台计算机上进行侦听。为了实现这一点,我制作了我的程序的两个副本并使用了 Plack::Middleware::Proxy::Loadbalancer 脚本,如下所示:

我在 8080 和 8081 上启动实例,然后使用 plackup loadb.pl 命令启动负载均衡器。它在 localhost:5000 上听得很好。但奇怪的是,当您连接到端口 5000 时,只有 8081 出现,如果它切换到 8080,则会出现错误网关错误。我是部署方面的新手,所以在这里需要帮助。是什么导致 http 请求仅从 8081 返回?似乎是网络层错误或其他什么?尝试 apache 负载均衡器会是个好主意吗?

0 投票
3 回答
1825 浏览

perl - 使用 Plack/PSGI/Poet 应用程序进行身份验证和/或 HTTPS

我需要构建一个简单的网络应用程序。我决定与使用 Plack的Poet ( Mason2 ) 一起做。

该应用程序应该只允许经过身份验证的用户使用,所以我需要构建一些登录/密码功能。

已经有一个 Plack 模块Plack::Middleware::Auth::Basic允许使用基本用户身份验证,从而可以设置检查.htpasswd或类似的。但是基本认证不是很安全;任何人都可以通过抓包等方式获取登录密码。

这里有两种可能的解决方案:

  • 通过 HTTPS(443) 运行我的 app.psgi - 链接级加密
  • 还是有一些更好的身份验证方法可以在没有 https 的情况下进行安全身份验证?

问题:

  • 关于 HTTPS - 我不知道如何app.psgi通过 HTTPS 运行我的。我需要稍微修改我的应用程序吗?任何链接都告诉我如何plackup通过 https 运行?
  • 或者第二个:是否有某种方法(中间件/或 perl 模块)允许我在标准未加密端口上构建 安全身份验证?(80)

那么,使用 Plack 应用程序实现安全身份验证的相对简单的方法是什么?

PS:我不关心其余的沟通。我只需要不允许获取密码的安全身份验证。

PPS:使用 apache(和自签名)证书很容易实现 https。但我不知道如何使用plackup(和或任何其他基于 Plack 的服务器)