Articles of apache 2.2

使用IP和标头请求不同的网站

是否有可能从networking服务器引诱网站而不依靠DNSlogging? Windows IIS WebServer正在处理标题,Linux正在使用虚拟服务器名称等。 想象一下这种情况: 服务器(linux + apache)可以通过互联网直接访问自己的IP(123.45.67.89)。 默认页面是这样的:“它正在工作!” 在Apache(httpd)中,虚拟服务器设置为:服务器名称:www.site.net,侦听任何地址默认端口。 我没有DNSlogging这样说:www.stie.net – M – > 123.45.67.89 我没有自己的DNS服务器设置,不想在不同的端口上路由站点。 我如何才能访问存储的网站只有IP地址和已知的托pipe网站名称?

将多个查询string与RewriteCond进行匹配

我在CGI脚本的Apacheconfiguration文件中有以下configuration: RewriteEngine on RewriteCond %{QUERY_STRING} !^/var/log/syslog-ng/JBoss.*$ RewriteRule ^/cgi-bin/(.*)$ /secure-cgi-bin/$1 [R=301,L,QSA] 这个想法是,如果有人使用CGI脚本来查看除/var/log/syslog-ng/JBoss之外的path,则应该通过安全的CGI脚本redirect它们。 现在我想改变RewriteCond以便在不通过安全CGI的情况下也可以查看第二条path。 第二个path是/var/log/syslog-ng/Tomcat 。 我如何去做这个改变?

从具有更好URL的子域访问cgi脚本

我想访问此页面(工作) http://stats.example.com/cgi-bin/awstats.pl?config=www.example.com 通过 http://stats.example.com/?config=www.example.com <VirtualHost *:80> ServerName stats.example.com DocumentRoot /usr/lib/cgi-bin/ DirectoryIndex awstats.pl </VirtualHost> 然而这触发了awstats.pl的下载,显然不是我的意图。 我怎么能做这个工作,或者有一个我失踪的概念?

Apache2-Prefork&FastCGI

我有使用mod_php和php 5.2运行的Apache2-Prefork。 而且我也有php-fpm,运行在chrooted环境中的php 5.3(听一个unix套接字,可以通过apache访问) 有人可以请指导我如何configuration虚拟主机使用Fastcgi。 (我一直在寻找networking的例子,但没有发现任何东西…) 有一点让我感到困惑 如果php运行在哪个上下文将被执行的包含或fopen? Apaches或chrooted环境? 我仍然可以通过PHP指令通过httpd.conf和.htaccess? 整个FastCGI的东西还是让我感到困惑:)提前感谢任何帮助! 更新:我非常确定,我必须使用mod_fastcgi和FastCgiExternalServer指令。 但我不知道如何告诉Apache,他只能做.php文件

通过mod_proxy进行redirect的开销是多less?

我有一个API在Apache上运行,但现在通过lighttpd。 我可以轻松地将应用程序中的API URL切换到像api.net:81这样的轻量级端口。 我想知道是否应该使用mod_proxy来代替清洁的URL。 遗留的url没有必要的redirect。 与直接呼叫相比,Apache之间的开销是多less? mod_proxy和Apache会窃取lightys轻量级的好处吗?

Ubuntu 11.04上的Apache VirtualHost

我试图在全新安装的Ubuntu 11.04上为本地开发设置一个Apache虚拟主机。 这里是我的虚拟主机configuration里面/ sites-available: <VirtualHost *:80> ServerName morpho.local ServerAlias www.morpho.local ServerAdmin webmaster@localhost DocumentRoot /home/james/projects/morpho # Log file CustomLog /var/log/apache2/morpho.local-access.log combined </VirtualHost> 我已经在/ sites-enabled并重新启动Apache中添加了符号链接。 文档根目录包含一个虚拟的“Hello World”index.html,没有别的。 www-data用户是目录和index.html的所有者。 当我浏览到morpho.local时,我得到了一个403 Forbidden,并且这行被写入(两次)到Apache错误日志: (13)Permission denied: /home/james/projects/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable 这对我来说似乎很奇怪,因为它正在从文档根目录中寻找一个.htaccess文件的一个目录。 为了看看会发生什么,我在那个目录中创build了一个.htaccess,并给了它777的权限,并将所有者和组设置为www-data。 日志中的相同错误。 我的猜测是我错过了一些我需要做的权限,但是它正在寻找一个.htaccess的目录。 再一次,这是一个新鲜的Ubuntu / Apache安装,除了这个单一的虚拟主机,我还没有configuration任何东西。 编辑:我通过设置我的开发文件夹,/ home / james / projects的x权限工作。 这使得www-data […]

htaccess中的主机名称是多less钱? 其他可能的解决方

为了方便地允许或不允许使用dynamicIP地址,您可以将其添加为.htaccess文件中的主机名。 正如我已阅读: .htaccess允许从主机名? 它会对连接的IP地址进行反向查询,看看响应是否与允许的名称匹配。 (实际上,Apache实际上是在进行双向查找,首先进行反向查找,然后对结果进行正向查找。) 这就是我们目前在.htaccess中没有使用dynamic-ip主机名的原因:这个“听起来”很重:每个请求都有2个额外的查找。 这真的是相当沉重 ,并会相当繁忙的服务器,而不是寻找更less的负载摆脱这个:)? (例如:这个“负载”与其他的比较起来如何?如果一个请求的价格高出1000倍,那么查找起来可能是微不足道的,otoh,这可能就是最终的结果:)) 还有其他解决scheme吗? 我可以编写一个脚本来查看主机名,并将其放入.htaccess文件中,但这有点像黑客。

只是另一个Apache的Nginx重写问题

我有以下的Apache重写指令: RewriteCond %{REQUEST_URI} ^/proxy(/|$) [NC] RewriteCond %{QUERY_STRING} (^|&)uri=(.*?)(&|$) [NC] RewriteRule .* /api/vs1.0/%2 [NC,L] 而我正在尝试nginx,所以试图将重写转移。 我想出了… rewrite ^/proxy(/|$) /api/vs1.0/$2 last; rewrite (^|&)uri=(.*?)(&|$) /api/vs1.0/$2 last; 这可能是非常不正确的。 我只是一个纯粹的networking开发者,所以我想知道是否有人可以在这里伸出援助之手。 我会非常感激。 我看到我忽略了查询string规范,但是我认为这不应该有问题。 我只是对原来的重写是完成了一个模糊的概念,所以我没有太多的希望在这里提出一些体面的,尽pipe读了两个服务器的相关文件。

指向不同端口的Apache子域

我有一个专用的服务器(运行centos,Apache等作为Web服务器)。 随着域名和子域名设置和工作正常。 我想build立一个新的子域名,例如:subdomain.domain.com指向一个不同的端口运行一个Web应用程序。 该应用程序侦听端口4040,而我想要的行为是 – 在服务器中inputsubdomain.domain.com结果将查询parsing到my.ip:4040,所以我不需要导航到subdomain.domain.com: 4040。 这可能使用Apaches虚拟主机configuration? 如果是这样? 我该怎么做? 谢谢

打开apache服务器到网页

非常基本的问题入站。 我是一个CS学生,我是新的服务器端的东西。 我设法让自己成为一个云服务器,使用root sshlogin,并安装了LAMP(centOS 5.5)和tomcat5来运行servlet。 所以我浏览了教程,从头开始使用terminal。 然后,当我完成安装,我尝试通过我的浏览器从这里通常的方式访问它,但它只是超时。 然而ping显示一个回应。 (所以这里有两台机器,一台用来查看实际机器所在云端的输出和另一台机器)。 只是澄清,我已经开始server.it似乎httpd进程运行良好,虽然他们是一堆。 ps -aux | grep httpd 在configuration文件,让我们只是说我的IP是123.123.123.123,我的DNS是myserver.cloud.com 这是conf文件的内容: ServerName myserver.cloud.com规范名称已closures。 听是80端口。 任何想法如何打开它的networking,所以我可以在这里查看它的forms? 响应应该看起来像这样: http : //articles.slicehost.com/2008/2/6/centos-installing-apache-and-php5 (apache 2testing页面) 在此先感谢任何能指引我正确方向的人。