问题标签 [apache-modules]
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.
c++ - 从 Apache 模块访问 Apache 配置
我正在开发一个带有 I/O 过滤器的 Apache 2.x 模块。我需要从我的模块过滤器代码中的 httpd.conf 访问 Apache 配置。我有 Nick Kew 的“The Apache Modules Book, Application Development with Apache”,但我没有在其中找到这个主题。
我需要知道一些 Apache 配置值,例如 LimitRequestFieldSize 指令(Apache 核心功能文档)或其他。
我该怎么做?
谢谢!
ftp - 如何在 MAMP 服务器上安装 mod_ftp 模块
背景:
我最近安装了 MAMP,并将其用作生产服务器。服务器设置没有附带 FTP 服务器,根据我的阅读,您可以通过 Apache 模块 mod_ftp 设置 FTP 服务器。我不是 Apache 软件或服务器管理员方面的专家,尽管我可以快速学习。我可以达到以下几点,然后我被卡住了。有人可以帮我吗?
我从存储库中检查了 mod_ftp 模块文件,这里:http: //svn.apache.org/repos/asf/httpd/mod_ftp/trunk/ 并将内容解压缩到:
我打开了 README-FTP 文件(在这里):http:
//svn.apache.org/repos/asf/httpd/mod_ftp/trunk/README-FTP
自述文件-FTP:
一些问题:
“从 ftp 源根目录在 httpd 源构建之外构建和安装 DSO”——ftp 源根目录是我从存储库中签出的压缩文件创建的mod_ftp文件夹吗?
“在 httpd 源代码构建之外”是什么意思?-- 这是我在 httpd.conf 中设置为“/Applications/MAMP/Library”的 ServerRoot 值吗?
同样,“在同一个 httpd 构建中”是什么意思——这是指什么位置?
我如何知道我想要静态构建还是 DSO 构建?
什么是声明:“将整个 ftp 源目录树复制到现有的 httpd 源代码树之上”实际上要求我这样做?(在上面??如在httpd源码树的父目录中,还是在同一目录中?)
如果你做到了这一点,我想赞扬你!
从这一点开始,我选择了第一个选项,并将 README-FTP 中看到的命令输入到我的终端中。
这是我的终端的样子:
那么我该怎么做呢?我在任何地方都看不到 mod_ftp.so,而且我特别关注这个目录:
和这个目录:
最终,我认为我遇到的问题是我不明白我的 mod_ftp 源文件夹和 httpd 源文件夹之间的文件结构需要如何集成才能使模块正常运行。另外,我不知道我不知道什么,所以可能有一个简单的问题要问,但不幸的是我不知道如何问。感谢您的帮助和耐心!
干杯!
PS,是的,我已经在互联网上搜索了几个小时。
apache - 如何在向用户发送页面之前预处理 Apache 上的步骤
我有一个 Apache Web 服务器,当用户请求某个页面时,我需要在 Web 服务器之外执行一些进程。我会尝试更清楚一点:当用户请求页面 X 时,我必须启动一个外部程序,将一些会话参数传递给它,等待响应,然后将请求的页面发送给用户。
这有可能做到这一点吗?
web - 用于网络视频流的 MKV、MP4 或 FLV
我目前正在为我放在我网站上的视频使用什么容器而感到紧张。
我最近开始上传游戏/演练视频,发现需要一个可以容纳高清视频且不受文件大小、编解码器(AAC 或 AVC)或分辨率限制的容器(将来我希望能够支持 5K 视频) 和 5.1 杜比数字及以上音频。当然,我不希望 5K 能够有效地进行流式传输,我只是希望它可用。
这就是混乱开始的地方。
我目前使用 .flv 容器,因为人们说它更好。资源消耗少,应用广泛,支持常用编解码器。这个问题很简单。它无法支持我要显示的高清内容:5.1 杜比音频和无限文件大小。
MP4 是我所需要的一切,但我听说它可能会响应缓慢,伪流模块未被浏览器广泛接受,而且我没有时间每次有人想要更新到 .mp5、6、12 等时更改容器.
这就是我将 .mkv 作为容器包含在内的地方。.MKV 还支持我想要的一切(HD、3D)、所有编解码器、通用和无限的文件属性。唯一的问题是它无法流式传输。
我知道这是一个程序员网站,但可能在未来,因为我们只能推进网络连接,我或其他人可以为 apache .mkv 流式传输模块编写一个模块。我不知道 apache 模块源在哪里,所以我现在不能这样做。
我介于 .flv 和 .mkv 之间。我并不真正关心 .mp4,因为如果我想要面向未来,我需要 .mkv,如果我不关心未来或更新,我应该继续使用 .flv。
大家怎么看。编写 .mkv 流媒体模块真的有那么难吗?
不包括网络流媒体,这三个中的哪个会更好。视频质量 (AAC AVC)、文件大小限制、通用、网络支持等。
谢谢,
c - 有没有办法确定apache模块的加载顺序
我正在开发一个基于 Apache 的应用程序,其中包含几个自定义模块。
我想与其他人分享一个模块中的一些功能。我需要在分层阶段将它们连接在一起。我想使用带有模块名称的 GetModuleHandle + GetProcAddress(它将仅在 Windows 下运行) - 但只有当 Apache 服务器已加载该模块时,这才会成功。
有没有办法配置 Apache 模块的加载顺序。我只需要控制我的模块——其他模块无关紧要。
提前致谢。
c++ - 将自定义 Apache 2.4 模块与 Linux 上的 httpd/apr 库静态链接时出错
我正在尝试将我的模块移动到 Linux Apache 2.4,但我遇到了链接问题。在 Windows 上,一个 libhttpd.lib 可用于链接以及 apr/apr-util 库。lib* httpd apr 和 aprutil 在我的 Windows 安装中都是静态链接的。我想为 Linux 安装做同样的事情。
根据可用的有限文档,我无法使用 APXS,因为我的模块是用 C++ 编写的。
我很难在 Linux 上找到服务器的存档文件。我需要链接什么才能使我的模块工作?
源能够在 Windows 主机上链接和执行。
示例错误:
谢谢
c - 我想了解如何覆盖集合 C 结构?
在为 Apache Web 服务器构建模块时,我遇到了几个实例,其中结构的声明说它只接受和const char*
声明中的成员,但是我在各种模块(例如 mod_security,甚至新函数)中找到了示例表示正在将数据类型插入到这些结构中。apr_table_t
apr_array_header_t
ap_parse_form_data
void *
我的问题是这怎么可能?如果我尝试使用相同的方法,为什么我的 Visual Studio 编译器会抱怨?
一个很好的例子是带有 create_request 函数的 mod_security,该函数将 a 存储void *
在request_rec
便笺中。
c++ - 在 Post Read Config 中使用 ap_retained_data_create/get 开发跨平台 Apache 模块
在构建跨平台模块的同时,我非常高兴地调试了 Apache 2.4 设计中的一个怪癖。
我面临的问题是 Apache 在启动时会加载配置文件两次,因此会加载模块本身两次。一旦我猜想测试配置并读取命令结构,然后下一步填写空白以供服务器运行。这通常不会有任何问题,但我需要在加载时加载我的模块配置,然后再为任何客户端提供服务,并且只解析我的模块的需求一次和一次。
由于我使用了许多资源,包括数据库等,我认为多次运行并不是最好的主意,尤其是在访问数据库服务器时。
在线手册(“Developer API 2.5”)说要使用 ap_retained_data_get 和 ap_retained_data_create 来跨模块卸载保留数据,而不是使用旧方法(我会让读者自行查找)。最好将标志传递给您已经通过测试阶段的下一阶段。
这就是令人头疼的地方。这不是它在 Windows 上的工作方式。
apache - 配置 Apache 模块 mod_xsendfile:我要修改哪个 .htaccess 文件?
我们的软件更新位于公共根目录之外的私人文件夹中。要下载它们,用户必须登录我们的 Drupal 社区,以便它可以在检索文件之前检查他们的权限。但是,当前检索这些文件的方式通常会在文件变大时失败,而是下载一个 0kb 的空文件。
我被称为 Apache 模块 mod_xsendfile 作为解决方案。说明讨论了对文件进行修改,.htaccess
但我不确定要编辑哪个,或者是否应该创建一个全新的。
对于初学者,我的 Drupal 社区位于我的主域的子目录中:http://example.com/community
-- 所以那里有一个 .htaccess 文件。在根 example.com 公用文件夹中还有另一个 .htaccess 文件。如果是这些文件中的任何一个,我认为它是/community
.
还是应该在其他地方创建一个不同的 .htaccess 文件?
c - 如何将 Apache 模块(处理程序)限制为虚拟主机(vhost)
我有一个 apache 模块,它在ap_hook_post_read_request
满足某些条件时使用钩子执行内部重定向。我想将此处理程序限制为单个虚拟主机,但目前它会在所有虚拟主机上触发(有很多)。httpd.conf 配置仅限于LoadModule
指令。我已经尝试SetHandler handlername
在虚拟主机和SetHandler None
主配置中使用,但处理程序仍会在对其他虚拟主机的请求时被调用。该模块还注册了ap_register_output_filter
钩子,但输出过滤器除了删除自身并继续传递控制之外不执行任何操作。