我有以下的Apacheconfiguration,除了我的IP地址外,它向所有访问者显示503服务不可用错误: ErrorDocument 503 /503.html RewriteEngine On RewriteCond %{REMOTE_ADDR} !^127.0.0.1$ RewriteCond %{REQUEST_URI} !^/503.html$ RewriteRule .* – [R=503] 这样我就可以在我的网站上进行维护而不会向用户显示任何错误。 (我正在使用我的实际IP,而不是127.0.0.1 。) 但是,要closures或打开我需要注释/取消所有行的注释,或完全删除它。 在我运行nginx的其他服务器上,我使用了一个带有variables的geo子句(如在这个问题中所见)。 所以我可以改变default从0到1来打开它。 有没有办法在Apache中做类似的事情?
情况 我在OpenBSD上创build了以下设置: 所以我有192.168.1.250上的OpenBSD服务器将所有的http请求redirect到192.168.1.250上的host-vm 。 host-vm自己使用nginx来redirect子域请求,如下所示: ## the virtual server for the foo-vm server { listen 80; server_name foo.hermes-technology.de; location / { proxy_pass http://192.168.30.3; } } ## the virtual server for the bar-vm server { listen 80; server_name bar.hermes-technology.de; location / { proxy_pass http://192.168.30.4; } } 所以如果用户发送一个http请求到foo.hermes-technology.de这个请求将被redirect到host-vm 。 此后, host-vm将基于子域名称的请求redirect到foo-vm的本地ip。 题 我想只依赖于OpenBSD的基础包,所以我的问题是: 如何才能将主机上的子域请求redirect到其他本地ip地址,只有使用httpd和relayd才能获得与上述相同的结果? 更多信息 如果您需要或想要了解更多有关此设置的信息以回答我的问题,请参阅blog.hermes-technology.de 。
在刚刚解决的另一个问题之后,我想知道:在Apache中我们可以做些什么来避免重复configuration行? 外面的apache呢? 在我的情况下,这将是AWS EC2的RHEL4,但我相信任何** nix *都会有类似的解决scheme。 也许像sed ,也许使用.htaccess …不知道。 但是,这应该是预处理的,在运行时什么也不做:就像conf文件一样,加载apache就是这样。 在这里,我将复制我以前的解决scheme来说明: UseCanonicalNames off NameVirtualHost *:8888 <VirtualHost *:8888> ServerName example1.com ServerAlias *.example1.com # below, stuff that will be repeated # redirect to HTTPS RewriteEngine on RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^login\.(.*)$ RewriteRule ^(.*) https://%1/login$1 [L] RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^www\.([^.]+\.com)$ RewriteRule ^/login(.*) https://%1/login$1 [L] </VirtualHost> […]
Apache线程堆积在我的一个Web服务器上(300-500个同时请求,一些需要3-8s处理!),但CPU使用率很低(〜10%)。 页面加载时间正在减慢。 我有很多空闲的CPU功率。 我怎样才能更多地使用它来更快地处理这些线程呢? 这是顶部的顶部… Tasks: 469 total, 1 running, 468 sleeping, 0 stopped, 0 zombie Cpu(s): 8.1% us, 1.7% sy, 0.0% ni, 90.3% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 9181012k total, 7998772k used, 1182240k free, 0k buffers Swap: 0k total, 0k used, 0k free, 0k cached PID USER PR NI VIRT RES […]
首先介绍一下我如何安装PHP,Apache和一些Apache模块: # apt-get -y install php5 php-pear libapache2-mod-php5 php-apc php5-mysql php5-mcrypt php5-xmlrpc php5-curl php5-imagick php5-gd php5-imap php5-pspell # apt-get -y install apache2 apache2-doc apache2-utils # a2enmod setenvif headers deflate filter expires rewrite include 而我的httpd.conf文件看起来像这样(即我已经基本禁用.htaccess,并具有在httpd.conf中的所有规则): <Directory /var/www/example.com/public> AllowOverride None […] </Directory> 考虑到它会给你一个如何设置我的networking服务器的基本想法,我想继续问问题: Apache在安装PHP的静态内容方面比较慢,这是真的吗? ( 我猜 ) 比方说,我的网站的根目录是'/var/www/example.com/public',我在'/var/www/example.com/public/uploads中有所有的静态内容(CSS,JS,图片) “; 如何克服问题(1),而不必将所有静态内容移动到没有安装PHP的服务器?
我读了httpd.conf中的一个目录块就像一个.htaccess文件。 这是否意味着RewriteEngineOn可以在httpd.conf中多次使用? 我假设它可以但它必须放在目录块。 有人可以证实吗?
对我的服务器的访问控制是这样定义的: Order allow,deny Allow from 127.0.0.1 而且这是我想要的方式。 首先,只允许从本地机器访问,然后一切都被拒绝。 但是我发现了很多可以做这样的事情的例子: Order deny,allow Deny from all Allow from 127.0.0.1 这更有意义。 首先,所有访问都被拒绝,然后只允许本地访问。 我的问题是,他们是否相同,做同样的事情? 他们的方式我看,但我只是想确保他们是完全一样的。 如果不是,他们有什么不同,我应该去哪个只允许访问我的本地机器?
我有一些服务器应用程序在apache2上运行; Ruby on Rails,PHP和其他。 在所有情况下,我希望apache发送电子邮件,每当Apache响应HTTP错误500内部服务器错误。 我怎样才能做到这一点?
正如标题所说, 我想设置我的apache来监听443,并configurationSSL。 所以,我的问题是: 1)。 这是否意味着,我不会有端口80或任何其他端口是没有SSL? 2)。 我的网站只能通过https和没有http访问? 谢谢
我在Ubuntu 12上运行LAMP堆栈,主要function是为基于PHP的API提供服务。 只有一个文件我想暴露给公众: api.php 它需要引用一个configuration文件,我在/cfg/api-config.php中包含db密码,这样API可以写入数据库等 所以我只希望api.php被apache“服务”并公开。 我放在/ cfg中的configuration文件必须可以被api.php读取,但任何可能访问该网站的人都不能读取。 我没有.htaccess ,只是一个httpd.confconfiguration如下。 <VirtualHost *:44448> DocumentRoot "/api" ServerName localhost:44448 ServerAlias Server.local DirectoryIndex index.html CustomLog "/var/log/apache_access.log" combined ErrorLog "/var/log/apache_error.log" SetEnv APPLICATION_ENV development php_flag magic_quotes_gpc off <Directory "/api"> Options Indexes MultiViews FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> 我的/cfg和/api文件夹的权限是: drwxr-xr-x和我的敏感configuration文件的权限位于/cfg/api-config.php db密码是-rw-r–r– 我想知道是否有人可以告诉我,如果这是正确和安全的设置? 因此: A)除/api/api.php以外的所有文件都不公开,并且不能访问我的服务器文件。 B)configuration文件的密码为db(对于api)也是不可读的访问该网站的任何人? 我试图通过在chmod 777 […]