问题标签 [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.
apache2 - Apache2 上的 FallbackResource (2.2.22 (Ubuntu))
我正在尝试清理我的 apache 虚拟主机,因为我有许多“别名”,并且将它们全部放入 mod_rewrite 可能很烦人。但是,虽然我可以自己访问特定的 URL(例如http://example.dev/robots.txt、http://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(列出的资源)时。
c - 无法从“request_rec”获取标头值
问题
我想在我的自定义 Apache 模块中检索标头的值。(标头作为 POST 请求的一部分出现。)我正在这样做:
但是,这是给予myHeader = NULL
。
细节
我在myHeader
这里使用:
query
使用 DB 格式化query_template = "call GetDelay('%s', %d)"
并在 DB 上执行。DB 将执行的查询显示为GetDelay('(null)',2)
.
如何检索标头值?或者我的错误是什么?
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 升级/移植项目期间发现任何资源特别有用,将不胜感激。
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 的出色功能
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!
apache - 我正在开发一个 Apache 2 模块。为什么服务启动时会调用两次 create_server_config?
我这样编写模块代码:
当我重新启动 Apache 时,其中/var/log/syslog
包含以下内容:
为什么create_server_config
函数被调用两次?
我在这个函数中 malloc 了一些全局变量。这安全吗?
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.conf
和fastcgi.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.fcgi
或http://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
,看看它是否解决了任何问题,或者至少它是否支持超时选项。
php - 通过 mod_userdir 为所有用户的 public_html 设置 PHP 的 open_basedir
我有一个 Apache 2 Web 服务器,它允许通过 访问public_html
每个用户的目录mod_userdir
,如下所示:
我想另外配置 PHP 的open_basedir
指令以禁止用户主目录之外的文件访问。对于 user jim
,指令将是
问题: Apache 是否提供了一种方法来通过上面标记的位置的变量来执行此操作[*]
,如下所示?
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 绝对不在系统上的任何地方。有什么建议么?
c++ - 从 apache2 模块发出 HTTP 请求 (c++)
我用 c++ 编写的 apache2 模块工作得很好,它处理来自浏览器客户端的类似“page.xyz”的请求,并且可以返回适当的结果。
我现在需要的是使用我的模块作为另一个服务器的客户端:发出 HTTP (GET) 请求并获得响应 (GET https://graph.facebook.com/oauth/access_token?.. )。
apache 是否有魔法可以做到这一点,还是我必须手动处理套接字并制作 HTTP 数据包?做这个的最好方式是什么?
非常感谢!