我在configurationapache时遇到一个问题,只能通过FastCGI运行.php扩展名的文件。 示例VirtualHostconfiguration: <VirtualHost 192.168.0.185:80> ServerName host1.example.com DocumentRoot /home/www/host1.example.com/WWW/ SuexecUserGroup host1 www <Directory "/home/www/host1.example.com/WWW/"> AllowOverride All Options +ExecCGI AddHandler fcgid-script .php FcgidWrapper /home/www/host1.example.com/fcgi/php5.fcgi Order allow,deny Allow from all </Directory> </VirtualHost> 问题是,它也运行像whats.new.in.php.6.html (基本上每个文件包含.php后面的点)作为fastcgi文件,而不是作为静态内容。 我试着改变AddHandler AddHandler fcgid-script .php$ 没有运气 – PHP文件不解释和纯文本。 有没有办法来防止这一点?
我想根据两个标准限制访问给定的网站: 客户端的IP地址(即是否在允许范围内) 摘要式authentication 但是,对于每个IP地址范围,都会有一个不同的用户名/密码组合列表(我通过源IP隔离客户端,然后需要authentication)。 每个来自有效IP并为该IP提供匹配的用户名/密码组合(或摘要)的客户端都将连接到相同的主机名,并看到来自同一个文档根的相同站点。 如果可能,我想在Apacheconfiguration中保留这个configuration,以避免在我的应用程序中重新发明轮子,并且有这样的事情: if client_ip = 1.1.1.1 digest_file = /etc/digests/customer1 elseif client_ip = 2.2.2.2 digest_file = /etc/digests/customer2 else deny access 是否有可能在一个单一的虚拟主机内做到这一点? 我在Debian上运行Apache 2.2.9,如果需要,可以加载模块。 我也想过为每个客户使用不同的主机名和虚拟主机容器,并在每个客户端中添加不同的IP范围和摘要文件引用,但是不幸的是,这个站点将通过HTTPS运行,我怀疑获得所有额外的IP将是禁止的成本条款。
我正在设置三个不同的服务器,我将有我的代码。 我希望这些服务器共享这些窗口2008服务器的负载。 我希望他们被安装在一个请求由他们随机处理和负载共享的方式。 还有其他的select吗?
redirecthttp:// anySubdomain(通配符) .mydomain.com / 至: anysubdomain(通配符) .mydomain.com / page2.php 我试着这个: RewriteCond %{HTTP_HOST} ^(.*)\.mydomain.com$ [OR] RewriteRule ^/?$ "http\:\/\/$1\.mydomain\.com\/page2\.php" [R=301,L] 但它不起作用,rewriteCond部分运作良好,因为,任何子域被redirect。 但它到达:“.mydomain.com / page2.php”,是什么让我觉得问题是在第二行 你可以帮我吗? 谢谢!
以下基于Apache 2.2,Windows和mod_wsgi 3.3的WSGI设置有什么问题? 问题在于,即使访问没有关联应用程序的URL(例如http:// wsgi / any ),客户端也会获得OK响应状态,而不是404状态码。 WSGI应用程序脚本文件: # C:\Programmi\Apache Software Foundation\Apache2.2\wsgi\scripts\app.wsgi def application(environ, start_response): status = '200 OK' output = 'App WSGI: Hello World!' response_headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(output)))] start_response(status, response_headers) return [output] 虚拟主机: <VirtualHost *:80> ServerName wsgi WSGIScriptAlias / "C:\Programmi\Apache Software Foundation\Apache2.2\wsgi\scripts\app.wsgi" <Directory "C:\Programmi\Apache Software Foundation\Apache2.2\wsgi\scripts"> Order allow,deny Allow from all […]
我有一个奇怪的问题。 当客户端请求一个不存在的jsp页面(html请求被一个404正确回答)时,Apache正在用400错误代码而不是404来回答。 Apache正确服务于404的唯一时间是对不存在页面的请求是对根目录中的文件的请求。 我知道,根目录匹配重写规则,但似乎并不相关。 例如: www.xxx.com/jjj.jsp – 404 www.xxx.com/bla/jjj.jsp – 400 我有Apache 2.2和Tomcat 6安装与mod_jk。 我把所有的jsp请求转发到mod_jk。 这是我的相关httpd.confinput: ServerAdmin [email protected] DocumentRoot /opt/tomcat/webapps/sb ServerName xxx ErrorLog /var/log/httpd/xxx/error_log CustomLog /var/log/httpd/xxx/custom_logs common JkMount /*.jsp ajp13 RewriteEngine On RewriteLogLevel 9 RewriteLog /var/log/httpd/xxx/rewrite.log RewriteCond %{HTTP_HOST} !^www\.xxx\.com$ [NC] RewriteRule ^(.*)$ http://www.xxx.com$1 [R=301,L] RewriteRule ^/([\w\d]*).jsp$ /sb/jsp/$1.jsp [PT,NC,QSA,L] RewriteRule ^/$ /sb/jsp/index.jsp [PT] [NC] [QSA] [L] […]
我有我的博客运行在IP 10.10.10.10(不是真正的)的服务器。 服务器上的这个博客只有一个虚拟主机。 这里是Apache的configuration: VirtualHost明星:80 ServerName blog.example.com ServerAlias blog.example.com ServerAdmin [email protected] DocumentRoot / var / www / 重写引擎 RewriteCond%{HTTP_HOST} ^ [^。] +。example.com $ RewriteRule ^(。+)%{HTTP_HOST} $ 1 [C] RewriteRule ^([^。] +)。example.com/(.*)/ var / www / $ 1 DirectoryIndex index.php 目录/ var / www / AllowOverride全部 拒绝订单,允许 全部允许 /目录 /虚拟主机 我的DNS blog.example.com指向这个IP地址10.10.10.10。 当我第一次加载blog.example.com时,它加载正确,没有问题。 但是,每当我点击一个链接,它显示的URL像http://10.10.10.10/login.php等 我是一个新手。 请帮我设置这个。 […]
我正在使用CentOS 5.5和Apache 2.2。 我刚刚开始pipe理自己的专用服务器,但是我认为我理解Apache中的虚拟主机的概念:实际上,我有不同的域(让我们称之为:www.myDomain1.com和www.myDomain2.com)由我的服务器。 现在我想使用Mediawiki,并希望将其用于以下URL:www.myDomain1.com/wiki。 我该怎么做? 据我所知,虚拟主机只适用于完整的域名,但我只想要“www.myDomain1.com/wiki”服务我的wiki网页。 这里有一些重要的信息: DocumentRoot是“/ var / www” “/ var / www”包含三个以上的文件夹:myDomain1,myDomain2,Mediawiki 我在两个域上使用Kohana框架,通常捕获所有的请求,并希望将它们映射到其控制器之一
所以这是交易。 我有多个虚拟主机。 每个虚拟是一个单独的域。 每个域是用于单独的应用程序。 比方说,我有虚拟主机: http:// .abc.com http:// .def.com http://foo.com 然后我是一个单独的应用程序,这是foo.com应用程序的RESTful HTTP API。 我想要实现的是* .abc.com和* .def.com到api.foo.com之间的反向通信。 所以* .abc.com,*。def.com和foo.com是可以公开访问的(这个我已经设置好了)。 但访问api.foo.com只能从同一台服务器请求访问。 我的标准是: 一个404应该服务于任何人试图浏览到api.foo.com(不被拒绝的权限) 访问api.foo.com仅限于IP或IP范围 我已经通过以下方式实现了 不为api.foo.com设置DNSlogging,所以任何试图访问它的人都将收到404。 为127.0.0.1:80创build一个基于IP的虚拟主机,并将以下规则添加到/ etc / hosts中 127.0.0.1 api.foo.com 这完全按照需要工作。 但这是实现私人虚拟主机的正确方法吗?
我有两个Web应用程序在同一台服务器上运行。 每个端口号都需要不同的端口号,但只有一个端口向公众开放。 我的公司宁愿避免打开另一个端口,但仍然希望这两个应用程序公开,所以我想弄清楚如何都运行。 我对apache有一点了解,但是我很困惑如何设置它来做到这一点。 我应该使用反向代理还是有另一种方法来实现我的目标?