标签: apache2

Apache反向高速缓存代理 - 为什么不进行高速缓存?

我正在尝试为广告图片(gif,jpg,swf)服务设置反向缓存代理.代理工作正常并将请求发送到源服务器,但我似乎无法弄清楚为什么内容没有被缓存.我目前的配置如下.目标是缓存与/ ca /​​ URI前缀匹配的所有请求.原始服务器正在为原始服务器标头上设置的干净URL,没有文件扩展名,Cache-control max-age = 1周的文件提供服务.

ProxyRequests Off
<Proxy *>
 Order deny,allow
 Allow from all
</Proxy>
<IfModule mod_disk_cache.c>
 CacheEnable disk /
 CacheRoot "/var/cache/mod_proxy"
 CacheDirLevels 3
 CacheDirLength 5
 CacheIgnoreCacheControl On 
</IfModule>

RewriteCond %{REQUEST_URI} ^/ca/*
RewriteRule ^/(.*)$ http://origin.webserver.com/$1 [P,L]

目前,我见过的唯一缓存实际上是在代理服务器上访问的本地文件,我正在寻找我所缺少的内容,以便从原始服务器获取内容以进行缓存.

我想知道是否与mod_cache没有缓存有关,因为内容是从源服务器获取的,而不是磁盘上的位置.寻找一种方法来强制缓存匹配该前缀的所有请求.

谢谢!

ps - 看起来我遇到了这个问题: http://mail-archives.apache.org/mod_mbox/httpd-users/200901.mbox/%3C497F6ED3.7080606@gmail.com%3E.将检查我的权限并检查调试消息...

caching reverse-proxy apache2

7
推荐指数
1
解决办法
2万
查看次数

使用目录名称中的下划线进行URL编码?

我在工作中遇到了一个奇怪的争论,我可能在这方面错了,所以这就是我要问的原因.

我们的软件将目录输出到Apache服务器,该目录替换名称为%5F的下划线.

例如,如果目录的名称在我们的软件中列为字符串,那么它将是:"andy_test",但是当软件将目录输出到Apache服务器时,它将变为"andy%5Ftest".不幸的是,当您访问服务器上的URL时,它最终变为"andy%255Ftest".

不知怎的,这似乎对我来说是错误的,再一次进展是:

  1. andy_test < - (作为软件中的字符串)
  2. andy%5Ftest < - (列为服务器上的目录)
  3. andy%255Ftest < - (必须在从Web浏览器调用与服务器上的URL相同的目录时使用.)

我假设"%5"编码为下划线,而"%25"编码为"%".

现在在我看来,目录名称应该在服务器上列出的方式只是简单的andy_test,如果你使用的是编码的URI,那么你可能最终得到"andy%5Ftest"来访问目录apache服务器.

我问后端的人有关它,他们说他们只是:"编码任何不是字母或数字的东西.

所以我想我对此有点困惑.你能告诉我谁是对的,并指导我一些有关原因的信息吗?

apache directory encoding apache2 url-rewriting

7
推荐指数
1
解决办法
2万
查看次数

htaccess递归如何工作?

我正在托管的情况下工作,我有一个主要的webroot ~/www.我有几个托管的子域名~/www/__subdomains.在主webroot中,我有一个.htaccess文件,可以进行一些小的重写.在我的两个子域中,我有类似的.htaccess文件,这些子域正确响应.

在另外两个新创建的子域中,我有.htaccess一个空的文件保存为AddHandler指令.我发现根.htaccess文件的存在/内容会影响这两个子域.他们抛出500错误.一旦我重命名那个,破坏的子域就可以工作了.

当然,这会打破其他网站,所以我不能将其移除,但这违反了我对.htaccess递归如何工作的理解.我认为只要.htaccess子目录中有文件,祖先目录中的文件就永远不会被执行.

显然,我错了,所以我希望有人可以教育我并帮助我解决这个问题.

谢谢.

apache .htaccess apache2

7
推荐指数
1
解决办法
1万
查看次数

Apache2是否支持子域的虚拟托管?

目前我的Apache服务器设置如此

<VirtualHost *:80>
 ServerName www.example.com
 ServerAlias example.com
 DocumentRoot /var/www
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

问题是下面的所有内容/var/www都可以从其他地方访问.如果我有一个网页/var/www/john/bio.html,那么该网页可以借用脚本/图片var/www/jane/

我想像这样设置我的Apache服务器

<VirtualHost *:80>
 ServerName www.example.com
 ServerAlias example.com
 DocumentRoot /var/www
</VirtualHost>

<VirtualHost *:80>
 ServerName www.john.example.com
 ServerAlias john.example.com
 DocumentRoot /var/www/john
</VirtualHost>

<VirtualHost *:80>
 ServerName www.jane.example.com
 ServerAlias jane.example.com
 DocumentRoot /var/www/jane
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

因此,所有用户的文件john去的/var/www/john/文件夹,同样的用户jane.然后,关闭符号链接(默认情况下),并且仅从/var/www/user/下方提供访问(默认情况下再次),我不必担心john's网页包含来自jane's网页的脚本/图像.

subdomain apache2 virtualhost

7
推荐指数
1
解决办法
3万
查看次数

如何配置Munin-2.0.x在Fedora上用CGI(仅)生成内容?

我有一个400+节点munin-1.4.x安装,我想升级到munin-2.x,以利用munin主服务器上基于CGI的内容生成(html和图形).我已经浏览了官方的dox(http://munin-monitoring.org/wiki/CgiHowto2),它根本就没用了.它只涵盖VirtualHost(http://munin.example.com),这不是我的设置,但我试图用它作为起点.

具体来说,我希望http://example.com/munin成为动态生成列出所有节点的html内容的基本URL,其中包含指向各个节点页面的链接(然后在单击时动态生成/更新) .增加的问题是我在Fedora上做了这个(16),而我发现的绝大多数的howto都假设Debian/Ubuntu(或假设通过cron生成非cgi静态内容).

官方的Fedora munin软件包安装如下:

  • munin基目录是/ var/www/html/munin
  • munin静态内容direcotry是/ var/www/html/munin/static
  • munin cgi脚本(munin-cg-graph&munin-cg-html)位于/ var/www/html/munin/cgi

到目前为止我做了什么:*在/etc/munin/munin.conf中设置"html_strategy cgi"和"cgiurl_graph/munin/cgi/munin-cgi-html"*在/ etc/httpd/conf/httpd中添加了以下内容.conf文件:

# Rewrites
RewriteEngine On
Alias /static /var/www/html/munin/static
Alias /munin /var/www/html/munin
# HTML
RewriteCond %{REQUEST_URI} !^/static
RewriteCond %{REQUEST_URI} .html$ [or]
RewriteCond %{REQUEST_URI} =/
RewriteRule ^/(.*)           /var/www/html/munin/cgi/munin-cgi-html/$1 [L]
# Images
# - remove path to munin-cgi-graph, if present
RewriteRule ^/munin/cgi/munin-cgi-graph/(.*) /$1
RewriteCond %{REQUEST_URI}                 !^/static
RewriteCond %{REQUEST_URI}                 .png$
RewriteRule ^/(.*)  /var/www/html/munin/cgi/munin-cgi-graph/$1 [L]
ScriptAlias /munin/cgi/munin-cgi-graph   /var/www/html/munin/cgi/munin-cgi-graph
<Location /munin/cgi/munin-cgi-graph>
        Options +ExecCGI FollowSymLinks
        <IfModule mod_fcgid.c> …
Run Code Online (Sandbox Code Playgroud)

apache fastcgi fedora apache2 munin

7
推荐指数
1
解决办法
7614
查看次数

URL重写似乎不起作用.的Apache2

我希望这样当用户进入时 http://mysite.com/home,它会将他重定向到http://mysite.com/page.php?id=home.这就是我放在我的.htaccess中的内容,但它似乎不起作用.

RewriteEngine On
RewriteRule ^/(.+)$ page.php?id=$1 [NC,L]
Run Code Online (Sandbox Code Playgroud)

它只是将我发送到/ home目录,有一个很好的404.帮助表示赞赏.谢谢.

编辑:

我已经尝试过一些改写,我知道工作,所以现在我确定这不是我的问题.我检查过phpinfo(),是的,mod重写正在运行,我用LAMP设置apache2,我正在运行最新版本的Linux Mint.

apache apache2 apache-modules

7
推荐指数
1
解决办法
2万
查看次数

Apache 2 - 在Windows上重新加载配置

我有一个PHP脚本修改我的httpd.conf文件,所以我需要在Apache中自动重新加载它.

在Linux上,有正常的重启,但在Windows上(我使用restart命令)它终止所有当前连接.在Windows上是否有一个命令为优雅重启?这有解决方法吗?

windows apache2 httpd.conf

7
推荐指数
1
解决办法
2万
查看次数

错误:模块mod_vhost_alias不存在

我想在apache中启用mod_vhost_alias.我做了一些谷歌搜索并找到了一个命令

sudo a2enmod mod_vhost_alias
Run Code Online (Sandbox Code Playgroud)

我试过了,但后来我明白了

ERROR: Module mod_vhost_alias does not exist!
Run Code Online (Sandbox Code Playgroud)

如何使mod_vhost_alias存在?

在某处下载?

谢谢!

apache apache2 apache-modules

7
推荐指数
1
解决办法
5379
查看次数

我需要"/ var/www"但是Apache2尝试使用空的"/ var/www/html"

这几天我和我的http://localhost 工作一起睡觉,并阅读/var/www...

我在Apache2日志中发现了"AH00094"错误,并且(Apache2创建了?)惊讶/var/www/html,Apache2尝试使用.

现在我http://localhost/anything不行(浏览器错误404).

怎么解决?我需要回复我的http://localhost文件处理/var/www!

上下文

我正在使用Ubuntu12和Apache2,所有默认和标准.

我检查了错误日志,tail /var/log/apache2/error.log以找出Apache所显示的确切路径

 ... [core:notice] [pid 1597] AH00094: Command line: '/usr/sbin/apache2'
 ... [:error] [pid 1604] [client 127.0.0.1:40624] script '/var/www/html/info.php' not found or unable to stat
Run Code Online (Sandbox Code Playgroud)

该文件夹 /var/www/html是新的,全部,如'/var/www/info.php',是/var/www,而不是/var/www/html.

修复了"AH00094"错误编辑

 sudo nano /etc/apache2/apache2.conf
Run Code Online (Sandbox Code Playgroud)

并在最后一行添加

 ServerName localhost
Run Code Online (Sandbox Code Playgroud)

(现在没有关于localhost的日志错误,但没有任何作用)

PS:我检查了其他相关问题,但不是同一个问题:/ var/www/html的权限,试图使用var/www/html的符号链接


我害怕使用这个答案线索 ......在我的Ubuntu中没有.conf指示的文件.我必须创造它吗?安全吗?


正如@RahilWazir建议的那样,这里也是我的"/etc/apache2/sites-available/000-default.conf",

  <VirtualHost *:80>
    # The ServerName directive sets …
Run Code Online (Sandbox Code Playgroud)

directory apache2

7
推荐指数
1
解决办法
1万
查看次数

laravel重定向与白色屏幕和消息"重定向到..."打破帖子

我已经和Laravel合作了很长一段时间,今天遇到了MAMP的问题.我无法追踪其根源,因为我没有进行作曲家更新或任何其他可能导致它的软件更改.无论如何,这个问题打破了我在localhost上的网站上的登录表单(生产中没有问题,或者在我的朋友正在使用的WAMP上的同一个项目中).当在应用程序中发生重定向时,通过在屏幕上打印出"重定向到..."消息,该问题显而易见.提交登录表单后,我收到此消息并被重定向回登录页面.从我在网上发现的问题可能是,重定向会以某种方式杀死我应该使用登录操作检查的帖子数据,因此身份验证尝试失败并且我被重定向回登录表单.显然,来自auth :: attempt的错误消息也会在重定向的过程中丢失.我遇到了一个面临同样问题的人并用nginx修复它,但由于我使用mamp和apache2,我找不到如何用它执行相同的技巧.此问题未记录任何错误.有关如何解决这个问题的任何想法吗?

apache redirect mamp apache2 laravel

7
推荐指数
1
解决办法
1618
查看次数