标签: apache2

如何在Apache中删除cookie

我需要从进入服务器的HTTP请求中删除cookie.在客户端(写入此cookie)或服务器(读取它)上执行此操作不是一种选择.我有Apache 2.0代理客户端和服务器之间的请求,所以我希望使用mod_rewrite在Apache中删除cookie.

我的问题是,有没有办法使用mod_rewrite从HTTP请求中删除某个cookie?

如果不能只删除一个 cookie,那么作为最后的手段从请求中删除所有 cookie?

如果mod_rewrite不是此任务的正确工具,我愿意接受有关如何完成此操作的其他建议.

apache mod-rewrite apache2

16
推荐指数
3
解决办法
4万
查看次数

如何增加Apache 2 uri长度限制

我在apache2日志中收到此错误:

[Tue Apr 06 09:00:56 2010] [错误] [客户端ABCD]请求失败:URI太长(超过8190)

我可以更改哪些设置来增加此限制?

apache2

16
推荐指数
4
解决办法
6万
查看次数

将.htaccess内容移动到vhost中以获得性能

我想知道如果我将.htaccess文件内容移动到apache2的vhost文件中是否可以提高性能?

这是我的.htaccess的内容

Options +FollowSymLinks +ExecCGI

<IfModule mod_rewrite.c>
  RewriteEngine On

  RewriteCond %{SERVER_NAME} ^([^.]+\.[^.]+)$ [NC]
  RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

  # we check if the .html version is here (caching)
  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  # no, so we redirect to our front web controller
  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

如果这样做是个好主意,我应该在vhost声明中放置哪些内容?

谢谢!

.htaccess apache2 vhosts

16
推荐指数
1
解决办法
5522
查看次数

curl:为apache .htaccess文件提供用户和密码

cURL用来测试一些RESTful API.其中一些API由Apache机器提供,并使用简单.httaccess文件通过用户/密码组合进行保护.

有没有办法为cURL提供用户名/密码组合作为参数?

.htaccess curl apache2

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

如何将404重定向到index.html并将URL重写为主页URL?

我将一个庞大而复杂的网站变成了一个小型的单页网站,因此需要将用户从404重定向到index.html.

我把它放在.htaccess中:

ErrorDocument 404 /index.html
Run Code Online (Sandbox Code Playgroud)

如果您输入mydomain.com/lalalalala,则会重定向到主页内容(mydomain.com/index.html),但URL栏仍然显示为mydomain.com/lalalalala.

如何将404重定向到index.html并将URL重写为mydomain.com

编辑:

我正在使用Bluehost.

html .htaccess redirect apache2

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

为Apache中的不同子目录生成访问日志

我的网站中有一些子应用程序,例如:

http://server/app/subapp1
http://server/app/subapp2
Run Code Online (Sandbox Code Playgroud)

如何为每个目录生成不同的日志文件?

http://server/app/subapp1/log/access_log

http://server/app/subapp2/log/access_log
Run Code Online (Sandbox Code Playgroud)

apache2

15
推荐指数
1
解决办法
6431
查看次数

Apache和Tomcat:ProxyPass和ProxyPassReverse

我遇到了配置Apache和Tomcat的麻烦,这就是场景:

我有一个Apache Web Server,运行正常,我可以访问这个只需键入:

http://localhost
Run Code Online (Sandbox Code Playgroud)

此外,在这台主机中,我有一个Tomcat运行并正常工作; 我创建了一个迷你网络应用程序,文件在"prueba"目录中,我可以访问输入:

http://localhost:8080/prueba
Run Code Online (Sandbox Code Playgroud)

(我知道Apache在80端口运行,而Tomcat在8080运行)

我想要做的是通过Apache用户可以访问'pruebas'(在Tomcat上运行),我的意思是:

http://localhost/prueba
Run Code Online (Sandbox Code Playgroud)

我已经知道了很多这个,我认为有两种方法可以做到这一点,我已经决定启用代理模块(proxy和proxy_ajp,带有a2enmod),我也已经知道我必须编辑这个文件: sites-available/default,这是内容:

NameVirtualHost *:80
<VirtualHost *:80>
     ServerName 127.0.0.1
     DocumentRoot /var/www

     ProxyRequests Off
     ProxyPreserveHost On

     ProxyPass /static/ !
     ProxyPass / ajp://localhost:8009/
     ProxyPassReverse / ajp://localhost:8009/

.
.
.
     Alias /static/ "/apache/www/"

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

但这没有正常工作:(

我不得不说,我尝试了很多改变,在这两行上,如:

     ProxyPass /prueba ajp://localhost:8009/prueba
     ProxyPassReverse /prueba ajp://localhost:8009/prueba
Run Code Online (Sandbox Code Playgroud)

要么

     ProxyPass / ajp://localhost:8009/prueba
     ProxyPassReverse / ajp://localhost:8009/prueba
Run Code Online (Sandbox Code Playgroud)

(每次我编辑文件,我都重启apache)

但是当我访问[http:// localhost/prueba /]时,我有:服务暂时不可用

有谁知道为什么?先谢谢你们.

Pd:我正在使用apache 2.2.17和tomcat6.

proxy reverse-proxy apache2 ajp tomcat6

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

什么是Loglevel调试?

我的网站的error.log文件说

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., referer: http://URL/TO/REFERER
Run Code Online (Sandbox Code Playgroud)

我的问题是,什么是LogLevel?我用谷歌搜索了它,但似乎我只是得到了关于java的东西.我们的网站是PHP.

更新

我添加LogLevel debug到apache2.conf并重新启动了apache但在错误日志中没有任何不同.

rewrite apache2

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

4GB HTTP文件上传使用jQuery-File-Upload,Apache和PHP

这个问题似乎与臭名昭着的2GB限制直接相关,我不确定这个问题是否是32位PHP问题.我已经看到与HTTP相关的注释不是为这样的大文件设计的.但是,在决定对迄今为止已证明有效的方法进行任何根本改变之前,我宁愿用尽这个方向.正如标题所示我需要上传> 2GB文件,迄今为止最大的3.8GB.我有一个使用jQuery-file-upload构建的表单,在这些大文件启动之前发送任何文件(都小于2GB)都没有问题.3.8GB一个从File-Upload上传可能需要5分钟,进度条完成100%.但是,上传后报告的错误是类型1,表明文件大小限制已被破坏.

如果我在上传期间监视服务器上的磁盘使用情况,它将具有以下示例属性:在上载之前,磁盘使用率为30%,随着上载继续,此使用量增加,31%,32%.... 45%,46%等等 但是,在2GB点附近,当客户端/浏览器文件上传继续时,磁盘使用率会下降到30%.当服务器磁盘使用量停止增加时,客户端可能只占上载的60%.然而,客户端仍然继续100%但未被服务器接受,因为磁盘状态永远不会减少30%.

我运行64Bit Ubuntu(最新)与Apache/2.2.22(Ubuntu)和PHP版本5.3.10-1ubuntu3.2经过多天的开关搜索解决方案我仍然无法在更改后上传3.8GB文件这么多设置.我将列出下面的那种变化,但在这个阶段我认为它可能是一个32位的PHP问题,所以如果有人可以建议值得关注的链接或解决方案值得尝试,我会很感激.

在Apache2中,我设置了以下内容:

- apache2.conf I've set Timeout to 900
- httpd.conf I've set LimitRequestBody to 0
- .htaccess in the file upload directory I've set:
    - LimitRequestBody to 4939212390
    - php_value upload_max_filesize 4831838208
    - php_value post_max_size 4939212390
Run Code Online (Sandbox Code Playgroud)

在php.ini中我设置了以下内容:

- UPLOAD_MAX_FILESIZE 4831838208
- POST_MAX_SIZE 4939212390
- max_execution_time 120
- max_input_time 60
- memory_limit 128M
Run Code Online (Sandbox Code Playgroud)

如果我在服务器上运行以下操作,似乎PHP没有32位问题,但我不确定在这个阶段.

php -r "echo PHP_INT_MAX;"
9223372036854775807
Run Code Online (Sandbox Code Playgroud)

正如我所提到的,任何想法都将不胜感激.

更新:

已经解决了这个问题,所以感谢@BogdanBurim建议回归基础方法:

我已设法通过HTTP上传3.8 GB文件,并具有以下设置:

在Apache2中,我设置了以下内容:

- apache2.conf I've set Timeout to 900
- httpd.conf …
Run Code Online (Sandbox Code Playgroud)

php file-upload apache2 jquery-plugins

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

使用Grok for Logstash解析Apache2错误日志

我试图解析我的apache2错误日志,我有点麻烦..它似乎没有匹配过滤器.我很确定时间戳是错误的,但我不确定,我真的找不到任何文件来解决它.另外,有没有办法让fields.errmsg我得到什么@message

日志

[Wed Jun 26 22:13:22 2013] [error] [client 10.10.10.100] PHP Fatal error:  Uncaught exception '\Foo\Bar'
Run Code Online (Sandbox Code Playgroud)

托运人配置

input {
        file {
                'path' => '/var/log/apache2/*-error.log'
                'type' => 'apache-error'
        }

}

filter {
        grok {
                type => "apache-error"
                pattern => "\[%{HTTPDATE:timestamp}\] \[%{WORD:class}\] \[%{WORD:originator} %{IP:clientip}\] %{GREEDYDATA:errmsg}"
        }
}


output {
        stdout {}
        redis {
                'data_type' => 'list'
                'host' => 'logstash.server.net'
                'key' => 'logstash'
        }
}
Run Code Online (Sandbox Code Playgroud)

apache apache2 logstash logstash-grok

14
推荐指数
2
解决办法
3万
查看次数