问题标签 [apache2]

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 投票
3 回答
2913 浏览

mod-rewrite - 重写 CNAME 子域

我有一个子域,我想使用 mod_rewrite 重定向到不同的位置。例如:

subdomain.example.com -> www.example.com/subdomain

我不想向浏览器发送重定向(所以它不知道页面不同)。

BTW subdomain.example.com 有一条指向 example.com 的 CNAME 记录。

编辑

另一个例子,只是为了澄清。很简单:如果在浏览器中输入http: //x.abc.com,Apache会返回http://www.abc.com/x的内容。

0 投票
2 回答
2548 浏览

svn - 尝试设置 Apache+svn,但遇到了麻烦。http://localhost 不起作用

我正在运行 Ubuntu 8.10,并且我已经尽可能快地安装了必要的软件包。在系统 > 管理 > 服务下,我在列表中看到“Webserver (Apache2)”。

谷歌搜索表明 /etc/hosts 文件可能存在问题,没有一行读取“127.0.0.1 localhost”,但我检查了该文件,它就在那里。我不知道下一步该做什么。

更清楚地说,尝试访问http://localhost/不会加载任何页面。浏览器只是继续加载,但页面永远不会出现。

这是我的 access.log:

和error.log(主要是我在重置,试图通过摆弄它来让它工作)

0 投票
1 回答
2312 浏览

ruby-on-rails - 使用 Apache 和 Mongrel 部署 Ruby on Rails

我对 ruby​​ on rails 和 web 开发还很陌生。这是我的设置,我从这个链接http://tonyrose023.blogspot.com/2007/01/multiple-rails-apps-with-mongrel.html 我在 Apache2 上使用 Mongrel 集群运行多个 Rails 应用程序。

http://services.abc.edu/app1 http://services.abc.edu/app2 http://services.abc.edu/app3

这就是我的“虚拟主机”(/etc/apache2/sites-availabe/services.abc.edu)文件的样子

我的问题是

1)如果有人可以评论我的设置并提供任何建议,那就太好了。

2)如您所见,我有一个 DocumentRoot,尽管现在所有 3 个应用程序都可以使用,因为它们使用相同的图像,但我认为将来我需要为每个应用程序设置 DocumentRoot

3) 我需要让应用程序安全运行,因此我需要使用 SSL(端口 443)运行它,并且我需要一些帮助以使其使用 SSL 运行。任何指针都会有所帮助,因为我从未安装过证书。我创建了 csr 和密钥,并且随身携带了证书。我正在研究下一步是什么。

谢谢!

0 投票
1 回答
1230 浏览

perl - 如何在不重新启动的情况下调试 mod_perl2 模块?

环境:Apache/2.2.11 (Win32) mod_apreq2-20051231/2.6.2-dev mod_perl/2.0.4-dev Perl/v5.10.0

情况与此讨论列表帖子中描述的情况非常相似,除了在 win32 上。

我在 httpd.conf 中有这个:

...以及只有 mod-perl 脚本处理。

我有一个使用 MyPackage 模块的脚本,它正在工作。

我破坏了模块,然后重新加载脚本。这个错误很有帮助,告诉我在哪里破坏了模块。

(如果此时我再次重新加载,它只告诉我“未定义的子例程 &ModPerl::ROOT::ModPerl::Registry...”,因为它第一次无法加载文件。但无论哪种方式如下行为仍然发生。)

我恢复了中断,并触摸了脚本文件,这样它就会重新加载模块,然后重新加载。现在它说:

即使我触摸了脚本和模块,我也无法正确地重新加载它,除非重新启动 Web 服务器。

仅破坏脚本本身(而不是模块)可以正常工作:适当的错误并将其改回会导致它在重新加载时再次工作。

在完成这些事情之后,我在测试之前重新启动了 Web 服务器:

  1. 我尝试进行跟踪,但它继续出错的行是 ModPerl/RegistryCooker.pm 第 204 行,这只是 eval{} 整个脚本的行。

  2. 我尝试在脚本和模块中将“使用警告 FATAL => 'all'”更改为“使用警告”。没有什么不同。

  3. 我试过禁用我的自定义 $SIG{__DIE__} 功能。没有什么不同。(好吧,当然,只是在出现错误的地方,但产生的错误是一样的。)

  4. 根据开头的讨论链接,发现 MaxRequestsPerChild 一直为 0,我尝试了 ThreadsPerChild 1,但没有区别。我尝试将 MaxRequestsPerChild 设置为 1,这解决了这个问题的奇怪行为,但在每次请求后重新启动 Web 服务器:

    这不是一个好的解决方案,因为我有大量代码在第一次点击页面时运行。

  5. 同样根据讨论,我将 httpd 作为服务运行,所以我在服务参数窗口中添加了 -X 并点击开始,它仍然试图在整整三分钟后启动(通常在 3 秒内启动。)甚至超时信息。通过任务管理器终止进程并验证我无法从 Web 浏览器访问该页面。从命令行启动 httpd -X。仍然与此问题顶部的行为相同。我还发现运行 httpd -? 时没有列出 -X 很奇怪。也许它在 win32 MPM 上不可用?

  6. 在该线程中,大卫指出:

    我对此类问题进行故障排除的经验表明,被卸载的包可能删除了存储在重新加载的模块的包空间中的值(可能在 BEGIN 块时间设置),随后的要求没有恢复。

    但这不适用于我的代码。我介绍的“破坏脚本”错误只是在已经存在的行之上添加了一个额外的“我的 $var”行,这样第二个就会抱怨它已经被声明了。

在每次重新加载后(无论是自动,通过 MaxRequestsPerChild,还是像以前一样手动)都没有重新启动 Web 服务器,就没有办法处理 mod_perl2 模块吗?

0 投票
1 回答
8209 浏览

apache - .HTACCESS 文件导致内部服务器错误

我已将文件和数据库从BradPPresents.com复制到BradP.com

由于 joomla! 启用了“漂亮的 URL”,因此需要 .htaccess 文件才能正确显示页面。

您可以在http://bradp.com/index.php看到数据库和所有连接都在工作,但是http://bradp.com/home.html不起作用,因为它依赖 .htaccess 文件来解析网址。

我将相同的 htaccess 文件从 bradppresents.com(当前工作正常)复制到 bradp.com,当文件存在时我得到“内部服务器错误”。一旦它被删除,错误就会消失,但该网站当然不能按需要工作。

我希望有人可以为我阐明这一点。

这是 .htaccess 文件

这是来自 Apache 的站点配置文件。

它本质上是带有一些更改的默认文件。

我非常感谢我能得到的任何帮助;谢谢一百万,尼克

0 投票
5 回答
23456 浏览

apache - Apache 多个 VirtualDocumentRoot

在 Linux 系统上使用 Apache2 有没有办法使用mod_vhost_alias拥有多个 VirtualDocumentRoot ?

这是我目前正在使用并希望继续使用的命名约定:

然后在 httpd.conf 的 vhosts 部分中,我有:

问题是当我访问 sub.domain 时,Apache 错误日志显示它正在寻找 /var/www/sub.domain.com 而不是 /var/www/domain.com_test 这让我相信它只读取第一条规则然后失败,但我想做的是使用任何满足两个 VirtualDocumentRoot 规则中的任何一个的文档根。

0 投票
1 回答
7114 浏览

svn - 奇怪的 Apache2.2 SVN 错误,“预期的存储库格式 '3' 或 '5';找到格式 '9'”

我有一个我可以使用 TortoiseSVN 从运行 Subversion win32 服务的同一台计算机上访问的存储库,并且它已经工作了一段时间。我决定尝试设置 mod_dav_svn 以便能够从其他地方获取它。当我尝试访问它时,我在浏览器中收到此错误:

...以及日志中的这些错误:

这是我的 .conf 中的内容:

我放 /.svn 是因为在我这样做之前,我在客户端上收到了相同的错误文本(但代码为 720002),并且日志显示 Apache 正在寻找不存在的 e:/dev/format,但是e:/dev/.svn/format 可以。

看了这篇,发现我的 subversion 是 1.5.1 和 1.5.5 已经出来了,而且我最近升级了 TortoiseSVN,我想可能有一些不兼容(这可能没有意义,我不知道它是怎么回事工作正常。)所以我下载了 1.5.5,停止服务,复制 DLL 和 EXE,重新启动服务,将新的 .so 文件复制到 Apache 的模块目录,然后重新启动 httpd。没运气。

有什么建议么?这种特殊的“格式 9”的东西似乎很少见……

0 投票
2 回答
531 浏览

mod-rewrite - mod_rewrite 将以字符串开头的 URL 重定向到 google

我试图建立一个简单的重写规则,但我似乎无法让它工作。基本上我想将任何以“餐厅”开头的地址路由到某个地方,并将所有其他地址路由到我的引导程序。

RewriteRule ^/restaurants http://www.google.com RewriteRule !^/restaurants index.php

是我到目前为止所拥有的。IE。

  • mysite.com/restaurants
  • mysite.com/restaurants/blabla
  • mysite.com/restaurants/beep/boop

都会去谷歌,所有其他请求都会去 index.php

0 投票
2 回答
44818 浏览

apache - Apache2反向代理到需要BasicAuth但希望对用户隐藏的端点

基本上我的情况是我有一个内部网站,需要一个硬编码的用户名和密码才能访问(并且不能关闭,只能更改)。由于各种原因(隐藏端口、简化 url、简化 NAT 等),我通过反向代理公开了这个网站。

但是,我想做的是能够使用 Apache 来处理身份验证,以便:

  1. 我不必给每个人一个密码
  2. 我可以使用 Apache 的 BasicAuth 拥有多个用户名和密码
  3. 对于内部用户,我不必提示输入密码

编辑:关于更丰富的身份验证的第二部分已移至新问题

这或多或少是我现在所拥有的:

0 投票
1 回答
2922 浏览

php - Apache/PHP 在短时间(12 秒)后关闭连接

我遇到了一个特殊的问题。Apache 在 12 秒左右后关闭连接。这会导致浏览器上出现“对等连接重置”消息。

我在 Linux Centos 5 上。使用 apache2/php5.x/mod_gzip。(带有 eAccelerator 的 php)

我测试了一些变化:

  • 通常,我会在最后一步打印所有 HTML 输出。当处理时间超过 12 秒时,它总是关闭连接。
  • 如果打印速度更快(< 12 秒),则连接不会关闭,我会在浏览器上看到页面。
  • 如果我定期(每隔一秒左右)打印一些东西,即使处理时间超过 12 秒,连接也不会关闭。

这里可能存在什么问题?有关解决此问题的任何建议?

编辑 - 更多细节:

  • apache access-log 显示状态码为 200。
  • TimeOut 指令已设置。超时值设置为 60。
  • php.ini:max_execution_time 设置为 30 秒。
  • 客户端和服务器在不同的机器上。它是直接连接( Edit2之间没有代理:ISP 通过其代理路由所有请求。)。
  • Apache 是独立的。