我正在使用Apache Reverse Proxy ,以下是一些Apache Virtual Hostconfiguration ProxyRequests Off <Proxy *> AddDefaultCharset off Order deny,allow Allow from all </Proxy> ProxyVia On ProxyRequests Off ProxyPreserveHost On proxyPass / ajp://127.0.0.1:8009/ 现在我想要限制像http://mysite.com/admin/tools这样的request url ,它只允许从特定的IP address访问。 我怎样才能做到这一点? 编辑: 至于上述要求这个答案工作正常,假设我想允许从一个或两个IP's访问admin URL和其余的IP's我想redirect到index页面,而不是显示forbidden error ,我怎么能得到这个?
在这种情况下,有一个服务器运行一些网站的清漆服务也configuration好。 现在,在另一台服务器上,我在LAMP环境+ W3TC Cache + APC中运行了2个wp多站点,现在我想configuration我的第一台服务器作为它的反向代理。 我想知道这是否会做到这一点: acl whitelist { "localhost"; "127.0.0.1"; "ip server with varnish"; "ip wordpress server"; } sub vcl_recv { if ( ! client.ip ~ whitelist) { error 403 "Access denied"; } 在开始testing之前,由于我对Varnish的使用经验不多,我想听听你对于设置我的服务器VCL的ACL的意见,以允许来自外部服务器的请求 UPDATE 只要指出,Apache响应8080端口和清漆80。 默认/清漆 DAEMON_OPTS="-a ip-server-1:80 \ -T localhost:6082 \ -f /etc/varnish/main.vcl \ -S /etc/varnish/secret \ -s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,1G"
我有一个域,让我们说mydomain.com 。 我想将www.mydomain.comredirect到裸域mydomain.com 。 所以我设置了下面的DNS。 (IP只是为了表演) A mydomain.com 192.168.0.1 CNAME www mydomain.com 然而,发生了什么事是,Apache服务于我的默认网站(这是空的),而不是mydomain网站。 由于我主持多个域名,我有: /etc/apache2/sites-available/default /etc/apache2/sites-available/mydomain /etc/apache2/sites-available/myOtherDomain /etc/apache2/sites-available/yetAnother /etc/apache2/sites-available/mydomain的开头看起来像这样: <VirtualHost *:80> ServerAdmin [email protected] ServerName mydomain.com ServerAlias mydomain.com 这个设置有什么问题,这不是将www.mydomain.comredirect到mydomain.com ? 谢谢你的帮助。
从旧服务器迁移到在CentOS6.4上运行的WHM / cPanel后,ExpressionEngine2出现问题。 简单的testing代码来重现该问题: <?php $protocol = strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https') === FALSE ? 'http' : 'https'; $host = $_SERVER['HTTP_HOST']; include($protocol . '://' . $host . '/header.html'); ?> <p> Main text…</p> <?php include($protocol . '://' . $host . '/footer.html'); ?> 其中header.html的样子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled […]
我想要apache: 将http用户redirect到https 如果他们访问http(s)://example.com/1234redirect到/ view / 1234 我尝试了不同的口味,但不能得到它的工作。 当用户访问网站时,他们被redirect到https://,但是我无法获得/ {numeric}redirect到添加/查看/。 数字规则工作正常,直到我把httpsredirect。 我已经尝试了RewriteCond%{HTTPS} = on,但是这会导致500个错误。 RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/?(.*) https://domain.example.org/$1 [R,L] RewriteRule ^(\d+)$ https://domain.example.org/view/$1 [R=301,L]
我们有一个来自Apache前面的供应商的Tomcat应用程序,但是我们没有访问应用程序代码。 我们在应用程序中包含了自己的单一标志,因此如果用户在应用程序中单击“注销”,用户将被带到未使用的“login”屏幕。 我们希望将该login屏幕redirect到默认的Tomcat页面,但我似乎无法获得正确的语法。 我已经尝试了一些调整,没有运气(转义/等)。 有没有人有任何想法? 我已经有一个HTTP到HTTPSredirect工作(包含在下面的指令)。 “注销”链接经过几个redirect,最终结束于: http : //ourserver.com/abc/login 为了简单起见,我们希望将login页面的任何请求redirect到: http : //ourserver.com/ <VirtualHost *:80> RewriteEngine On RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L] RewriteRule ^/abc/login$ / [L] </VirtualHost>
我有一个.htaccess文件与下面的代码 <IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule> 但是当我访问我的网站时,我得到这个错误 [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. LogLeveldebugging不会给我一个回溯,我不认为增加内部recursion限制是明智的。 有没有人有这种types的错误的经验?
当用户数达到约250个并发时,我在Apache服务器上面临一个问题。 只有闲置员工编号设置为0时才会出现问题。 所以我的问题是,一个Apache工作人员只提供一个或更多的请求吗? 我怎样才能增加工人或最大用户至less700并发? 我在Windows 2008 R2上使用Apache 2.2,MPMtypes是:mpm_winnt。
我正在开发一个Web应用程序,并使用一个典型的灯栈。 我正在使用dompdf生成一些报告到PDF。 在一个案例中,我有一个简单的表格列表(想客户端列表)与一些简单的信息(姓名,电话号码,电子邮件等…),但用户有近400个客户端在此列表中。 尝试将报表呈现为pdf时,将超出允许的内存大小并发生错误。 我的问题是如何解决这个问题? 如果一个运行报告的用户正在吃掉我所有的CPU,我只能想象当100个用户在生产服务器(rackspace云服务器)上同时运行报表时, 确切的错误是: [致命错误] [客户端127.0.0.1] PHP致命错误:在/ home / redacted / redacted / v2 / application /中允许内存大小为134217728字节,耗尽(试图分配83字节)第863行的libraries / dompdf / include / style.cls.php,referer: http://redacted.v2/reports 我是否需要为每个报告运行产生一个单独的进程? 我不完全确定如何完成(我想我需要通过PHP来做到这一点)。 基本上我不希望我的服务器在大型报告运行的时候停下来。 任何想法或build议非常感谢!
我遇到一个问题,那就是我没有看到一个简单的解决scheme,但是我用googlesearch了一下,结果无济于事。 我遇到的问题是,当我做一个服务器(物理机)重新启动,每次Apache告诉我, /tmp/apache2-gbd-dump不存在,并检查httpd.conf文件。 那么我检查conf文件,并确定它正在调用一个/tmp/apache2-gbd-dump为核心转储。 问题是这个文件实际上并不存在 。 当我查看日志时,这是唯一与启动失败相关的警告/错误。 所以我试着创build这个文件,把它www-data:www-data然后chmod到777 。 而这个作品 ,我现在可以sudo service apache2 start 。 一旦我重新启动物理机器,Core Dump文件就会消失,我必须手动重新创build文件才能启动Apache,因为它是自动启动的。 当这变成生产服务器时,这显然不起作用。 有没有人有任何的洞察力,我可以看看到底为什么发生这种情况? 这里是conf文件里面的代码,如果有人看到一个相关的问题,你能指出吗? CoreDumpDirectory /tmp/apache2-gdb-dump LockFile ${APACHE_LOCK_DIR}/accept.lock PidFile ${APACHE_PID_FILE} Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5 <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 </IfModule> <IfModule mpm_worker_module> StartServers 2 MinSpareThreads 25 MaxSpareThreads 75 […]