问题标签 [apache2-module]

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 投票
14 回答
1037 浏览

c - 正确学习 C:是或否?

我的主要语言是 PHP,但我用其他语言做了一些(不是很多)编程。

我用 C 为 Apache 编写了 2 个模块。我用 C 编写它们,因为这是性能确实很重要的事情之一。(动态生成世界的投影地图并输出到.png)。

这些模块可以工作,这是我能保证代码质量的程度。不要误会我的意思,我已尽力编写正确的代码,但我确信它还有很大的改进空间。

我正在考虑将当前模块更改为线程化的想法,但没有线程化软件的经验,并且像追查错误这样的事情仍然需要我很多时间。

我的问题是:
我应该先学会正确地用 C 编程(获得一份The C Programming Language的副本)还是你推荐另一种方法。

注意:
我目前没有将 C 用于 Apache 模块的计划

0 投票
2 回答
6313 浏览

c - 如何调试 Apache 模块

我最近一直在写一个 Apache 模块。使用内存池范例很有趣,但我显然没有做正确的事情。我有一个段错误,我似乎找不到它。我当前的调试周期涉及 ap_rprintfs 和一个重建和重新加载 Apache 的 make 脚本。

什么样的工具可用于在这种类型的环境中工作?

0 投票
1 回答
4414 浏览

apache2 - 如何为 Apache 2.2.14 启用 mod_proxy_ajp?

我安装了 Apache 2.1.14 并在生产中运行 - 由于新的要求,我需要开始使用模块 mod_proxy_ajp。

运行“./httpd -l”脚本不会显示已编译的模块“mod_proxy_ajp”。

有没有一种方法可以启用 mod_proxy_ajp 而无需重新编译 Apache 实例?

谢谢。

0 投票
1 回答
264 浏览

perl - Apache 2 和 Perl 的身份验证模块问题

我是 SharePoint 开发人员,试图让 Perl 模块与 Subversion 一起使用,但我认为我的语法有问题。我只需要获取用户名和密码,将其传递到 Web 服务,获取真/假并根据该信息进行身份验证。下面是 Perl 中模块的代码:

如果有人有任何建议,请告诉我。我在 Apache Config 文件中收到类似的错误:Can't call method "value" on an undefined value at C:/usr/site/lib/Apache2/AuthGetUser.pm 第 30 行。感谢您所做的一切。如果我得到这个工作,我将有一篇博客文章即将发布。

0 投票
1 回答
158 浏览

c - Apache 模块:每个请求的输出都在增长

我有一个基于 Apache 模块 API 的项目的想法。所以,我正在编写我的第一个 Apache 模块来学习 API - 只是一个简单的主机名查找:

当请求在处理程序路径后不包含主机名时,我只想让响应数据说:

“请求中未找到主机名。”

所有这些都正常工作,除了一件事:错误响应不断附加到产生错误结果的后续请求上。主机名查找结果不会发生这种情况(当提供主机名时)。问题示例:

我确定在错误情况下我的输出缓冲区做错了什么 - 任何人都能够指出问题?这是代码:

提前致谢,

-aj

0 投票
1 回答
269 浏览

c - Apache 模块可以在运行时注入配置吗?

我想知道 Apache 模块是否可以更改全局配置结构。

我想要实现的是在不重启 Apache 的情况下注入新的虚拟主机。当然,我知道这些更改将在所有工人回收后完全生效,但对我来说 - 它仍然比重新启动要好。

我以前写过一个 Apache 模块,但配置对我来说是未知的领域。在阅读 config.c 时,我注意到一个名为 ap_build_config() 的函数可能会有所帮助,但我该如何调用它来完成我需要的操作呢?有可能吗?

0 投票
1 回答
339 浏览

apache2 - 我的 Apache 2 模块如何判断它是否是通过 SSL 请求调用的?

我有一个模块需要在其有效负载中返回参考 URI。如果通过 SSL 连接调用,我需要构建一个具有 https 前缀的 URI。我可以轻松地从请求中获取端口号,但问题是用户可以选择任何 SSL 端口(事实上,这个特定的 Apache 实例总是以非标准 SSL 端口开始)。

请求结构中所有已解析的 URI 都已删除 http/https 前缀。我正在考虑使用 r->server->defn_name 字段,该字段实际上包含请求的虚拟服务器的 conf 文件。如果我看到它以 httpd-ssl.conf 结尾,我可以猜测这是一个 SSL 连接。仍然感觉像是 hack,实际上用户也可以将该 conf 文件命名为其他名称,这会破坏这种方法。

另一种方法是读取配置文件并找到 SSL VirtualHost Listen 端口,但我也无法完成此操作。

似乎我缺少一些非常简单的方法来判断请求是否是通过 https 发出的,但是我已经扫描了 request_rec 中可用的所有结构,但没有看到任何明显的东西。

0 投票
1 回答
2499 浏览

c - C中的Apache模块:如何将数据写入客户端套接字?

我创建了一个简单的 mod_perl 模块,它将一个以 0 结尾的字符串写入连接到端口 843 的Flash 客户端。它工作正常,但在我的 CentOS 5 Linux 机器上每个 httpd-child 使用 20m。

所以我试图用 C 重写我的模块,但我不确定如何通过我的协议处理程序接收的conn_rec结构访问客户端套接字。

我在邮件列表中询问并尝试添加#define CORE_PRIVATE并使用ap_get_module_config(conn->conn_config, &core_module)但这会破坏我的 Web 服务器:该字符串既提供给端口 843(没关系),也提供给端口 80(这不好)。

有人在这里有什么建议吗?

这是我的 SocketPolicy.pm(工作正常,但需要大量内存):

这是我损坏的 mod_socket_policy.c(劫持端口 80):

另外,我查看了mod_perl 源代码,它们似乎使用相同的方法来访问客户端套接字:

那么为什么我的 Perl 模块可以工作而 C 模块不能呢?

0 投票
2 回答
3760 浏览

perl - 带有 mod_perl2 的草莓 Perl:从 CPAN 构建 Apache2 模块

按照 mod_perl 邮件列表中的这些说明安装了 Strawberry Perl 5.10 和 mod_perl2,没有问题。但是,尝试安装Apache2::我的脚本使用的各种模块会导致错误。Apache2::Reload尽管如此,我还是能够安装一个( ):

...只需将几个 .pm 文件复制到site/lib. 然而,其他的我不太确定。例如,Apache2::RequestRec给我以下错误:

Apache2::在 Strawberry Perl 下编译模块有什么技巧吗?我还需要编译自己的 Apache 二进制文件吗?(如果是这样,我可以使用 Strawberry 提供的 make 工具来做到这一点吗?)

0 投票
1 回答
174 浏览

apache - 在 Apache 2.2 和/或 win32 下使用 mod_libpq 运气好吗?

有没有人幸运地为 Apache 2编译mod_libpq ?我知道有一些相当大的变化,所以可能需要更新源,但有人已经完成了吗?

另外,它是为 win32 编译的(Apache 的版本,还是其他 Web 服务器?)