问题标签 [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 投票
1 回答
2337 浏览

apache2 - Apache2 上的 FallbackResource (2.2.22 (Ubuntu))

我正在尝试清理我的 apache 虚拟主机,因为我有许多“别名”,并且将它们全部放入 mod_rewrite 可能很烦人。但是,虽然我可以自己访问特定的 URL(例如http://example.dev/robots.txthttp://example.dev/,但虚拟主机不会回退到列出的 URL ( FallbackResource /index.php)。

vhost 是 Zend Framework 项目的容器,没有设置 .htaccess 文件。

访问日志显示.... "GET / HTTP/1.1" 302 0,但 Google Chrome 显示“未收到数据”和“错误 324 (net::ERR_EMPTY_RESPONSE):服务器关闭连接但未发送任何数据。”

注释掉该FallbackResource行并重新启用<Location />基于 - 的 mod_rewrite 可以按预期工作。

编辑:虚拟主机中没有任何东西可以阻止它工作。几Alias行(FallbackResource 应该使用)和一些FilesMatch停止访问具有特定扩展名的文件。日志中唯一出现的是 404,当它尝试访问 URL 而不是 index.php(列出的资源)时。

0 投票
0 回答
392 浏览

c - 无法从“request_rec”获取标头值

问题

我想在我的自定义 Apache 模块中检索标头的值。(标头作为 POST 请求的一部分出现。)我正在这样做:

但是,这是给予myHeader = NULL

细节

我在myHeader这里使用:

query使用 DB 格式化query_template = "call GetDelay('%s', %d)"并在 DB 上执行。DB 将执行的查询显示为GetDelay('(null)',2).

如何检索标头值?或者我的错误是什么?

0 投票
1 回答
263 浏览

perl - Apache::Request(旧 perl/apache)与 HTTP::Request(新 perl/Apache)一样吗?

你好 Perl 战士。

我对这门语言完全陌生,并且被安排在一个有趣的项目中,将最初为 Apache 1.3(和较旧的 Perl)编写的应用程序移植到带有 Apache 2.2.x 和 mod_perl 的 RHEL / CentOS 6。

至于调用lib的:

Apache::Request (旧 perl/apache) 和 HTTP::Request (Apache2, mod_perl) 一样吗?

此外,如果有人在 perl 升级/移植项目期间发现任何资源特别有用,将不胜感激。

0 投票
1 回答
63 浏览

servlets - 在 Apache2 中使用 Restlet

我是这里的新手..我正在尝试构建一个简单的单页 Web 应用程序

现在我正在使用 apache 2 http 服务器来服务前端的东西(html/js/css/imgs..),并使用一个在端口 8015 上使用 Restlet2.0 的 jar 来为来自前端的 Ajax 调用提供 APIS

现在因为 Apache 使用端口 80 而 Restlet 使用端口 8015,我必须在我的 ajax 调用中使用绝对地址,所有跨域地狱中断都会丢失

我想知道如何使 Apache 2 与 Restlet 一起工作?我一直在谷歌搜索,但没有很多有用的结果。如何将所有 API 调用转发到 Restlet,并仍然利用 apache 2 的出色功能

0 投票
1 回答
1701 浏览

apache2 - Apache 2.4.x 带宽配额/节流/速度

我正在寻找允许我配置带宽配额的新 Apache 2.4.x 模块或解决方案。很久以前,我使用 mod_throttle,它只适用于 1.3,并且不再维护。我也一直在使用我已经修补的 mod_cband 与 Apache 2.4 一起工作,它似乎正在做这项工作,但我担心未来的 Apache 升级可能会导致该软件也消失。它也似乎不再维护 mod_cband 。

我看过 mod_bandwidth 但这似乎只适用于 1.3.x 并且 mod_ratelimit 并不完全符合我的要求。

具体来说,我正在寻找一种为每个虚拟主机设置最大配额的方法,当达到该限制时,连接速度会变慢或显示错误。配额应配置为根据预定义的密钥自动重置自身,IE:30 天、2 小时等...

任何指导都会很好。付费软件对我来说也可以,只要我可以演示它。开源解决方案当然是最好的 =)

我应该补充一下,这应该适用于 Unix/Linux,而不是 Windows!

0 投票
1 回答
405 浏览

apache - 我正在开发一个 Apache 2 模块。为什么服务启动时会调用两次 create_server_config?

我这样编写模块代码:

当我重新启动 Apache 时,其中/var/log/syslog包含以下内容:

为什么create_server_config函数被调用两次?

我在这个函数中 malloc 了一些全局变量。这安全吗?

0 投票
3 回答
8911 浏览

apache2 - 具有动态服务器的 apache2 FastCGI 通信中止了第一次读取空闲超时

总结:无法运行任何最简单的“Hello World”FastCGI 脚本,任何请求总是以超时终止。似乎服务器和 FastCGI 脚本之间根本没有通信(使用动态 FastCGI 脚本)。

环境

  • Ubuntu 精确版 (12.04)
  • 包裹apache2.2-bin
  • 包裹apache2-mpm-prefork
  • 包裹libapache2-mod-fastcgi
  • 包裹libfcgi-perl
  • 包裹python-flup
  • 多个站点配置为虚拟主机127.0.0.1
  • 存在一个/var/lib/apache2/fastcgi目录,由 拥有www-data,所有人(所有者、组和其他人)都可以读取
  • 存在一个/var/lib/apache2/fastcgi/dynamic由 拥有的目录,该目录www-data仅限于所有者(只读、可写和www-data仅可访问)
  • /var/lib/apache2/fastcgi/目录下存在inode/socket文件

FastCGI 相关配置:

该目录/etc/apache2/mods-enabled/包含对fastcgi.conffastcgi.load(mod_fastcgi已启用) 的引用。

该文件fastcgi.conf包含以下内容(保持不变,我没有编辑它):

中的相关配置文件/etc/apache2/sites-enabled/包含以下内容(关于 FastCGI 特定配置的其他任何地方都没有):

测试虚拟主机上的测试材料:

存在一个fcgi-bin/test-perl.fcgi其内容是(该文件可以被所有人执行,并且可以被所有者和组读取):

存在一个fcgi-bin/test-python.fcgi其内容是(该文件可以被所有人执行,并且可以被所有者和组读取):

问题

虽然fcgi-bin/test-perl.fcgi和都fcgi-bin/test-python.fcgi在从命令行执行时正常运行,但在调用时似乎都不起作用,例如 ashttp://test.loc/fcgi-bin/test-perl.fcgihttp://test.loc/fcgi-bin/test-python.fcgi.

什么都没有发生,经过一段时间的延迟,我得到一个错误 500,并且 Apache 错误日志包含多个条目,如下所示:

我花了几个小时在网上搜索试图了解它为什么不起作用,最后决定放弃并在这里寻求一些帮助。

欢迎任何指针和检查列表。随意询问您可能认为相关或值得检查的任何缺失细节。

享受美好的一天。

- 编辑 -

问题更新

我自己对自己问题的回答中,我提到了一个奇怪的案例,事情看起来突然好起来了,没有任何理由。后来我发现这只是部分好。

在相同的虚拟主机中,使用完全相同的服务器配置,一些完全相同(并且具有完全相同的访问权限)的脚本会根据它们的位置而失败。

作为其余部分,以下是站点配置中的内容:

有了上述,只有脚本/fcgi-bin被处理为 FastCGI 脚本。但我在其他地方也有一些(仍在测试中):一进/cgi-bin一进/(即在public_html目录中)。为此,.htaccess包含以下条目:

因此,另外两个 FastCGI 脚本应该与 in 中的一样工作/fcgi-bin,但它们没有,并且在当时,它们总是以连接超时终止,就像第一个/fcgi-bin那样。

这让我觉得mod_fastcgi模块可能有问题(已知错误?其他?)。到目前为止,这个模块似乎是相当随机的。

-- 编辑 2 --

第一次编辑中的上述内容是我的错误:该组对其他脚本有误,它必须是www-data,但不是。有什么问题吗,请坚持我给出的答案,即尝试查看FastCgiConfig,看看它是否解决了任何问题,或者至少它是否支持超时选项。

0 投票
1 回答
977 浏览

php - 通过 mod_userdir 为所有用户的 public_html 设置 PHP 的 open_basedir

我有一个 Apache 2 Web 服务器,它允许通过 访问public_html每个用户的目录mod_userdir,如下所示:

我想另外配置 PHP 的open_basedir指令以禁止用户主目录之外的文件访问。对于 user jim,指令将是

问题: Apache 是否提供了一种方法来通过上面标记的位置的变量来执行此操作[*],如下所示?

0 投票
1 回答
5017 浏览

apache2 - 如何编译 mod_proxy_uwsgi 或 mod_uwsgi?

所以我试图在 apache2 后面使用 uwsgi,但我是在 CentOS 6 机器上这样做的。(我习惯于使用基于 Debian/Ubuntu 的系统来获取上下文。)

我使用pip install uwsgi并遵循了使用 Django 应用程序启动 uwsgi 的说明(通过http://uwsgi-docs.readthedocs.org/en/latest/WSGIquickstart.html)。

我开始按照http://uwsgi-docs.readthedocs.org/en/latest/Apache.html配置 apache2 ,但它没有说明从哪里获取或如何构建 mod_uwsgi 或 mod_proxy_uwsgi。mod_uwsgi.so 绝对不在系统上的任何地方。有什么建议么?

0 投票
1 回答
333 浏览

c++ - 从 apache2 模块发出 HTTP 请求 (c++)

我用 c++ 编写的 apache2 模块工作得很好,它处理来自浏览器客户端的类似“page.xyz”的请求,并且可以返回适当的结果。

我现在需要的是使用我的模块作为另一个服务器的客户端:发出 HTTP (GET) 请求并获得响应 (GET https://graph.facebook.com/oauth/access_token?.. )。

apache 是否有魔法可以做到这一点,还是我必须手动处理套接字并制作 HTTP 数据包?做这个的最好方式是什么?

非常感谢!