Articles of apache 2.4

在Apache或Nginx上限制每个请求的下载和上传速度

我目前正在运行几个Web服务器(一个是基于Apache 2.4,另一个是运行nginx 1.8)。 我需要为每个单独的GET / POST请求设置速率限制,以限制下载和上传速度。 我已经search了,但我发现每个解决scheme似乎只关注下载速度,我也找不到一种方法来设置限制也从客户端发送到请求体内的服务器的数据。 我需要这个,因为大多数请求都与file upload有关。 任何build议将不胜感激。 谢谢!

捕捉所有重写规则为Apache不会导致.htaccess重复的URL

您可以为apache制定一个全面的重写规则,它的行为有点像一个别名,但可以在.htaccess文件中实现,而别名不能。 举个例子,假设你的文档根是这样的层次结构: /.htaccess /test/ /test/.htaccess /test/file 您可以通过使根.htaccess包含以下命令来“testing”到testing文件夹的所有请求: RewriteEngine On RewriteRule ^(.*)$ /test/$1 [L] 而第二个.htaccess包含: RewriteEngine On 这很好,通常是你所需要的。 它只是有一个问题 – 它创build了多个有效的url。 现在你可以用/file和/test/file来访问这个/test/file 。 通常这不是问题,但如果添加一个名为/test/test的文件,将会看到问题,因为假别名完全停止工作。 如果子文件夹有一个复杂的.htaccess它自己可能会导致重大的麻烦。 有没有办法假冒一个.htaccess别名没有原来的url仍然工作? (任何RewriteCond的子文件夹,将检查,如果我们已经被重写或不?

日志突然停止在Apache / 2.4.18(Ubuntu 16.4.2)AWS EC2上

我正在将Python打印语句logging到/var/log/apache2/error.log,但在过去的几天里,我发现了什么时候我没有任何logging。 Web请求正在正常处理。 sudo apachectl restart将恢复日志loggingfunction。 在前面的日志(error.log.1,其中包含正确的日志logging)的末尾有这样的通知: [5月24日星期三18:27:04.070726 2017] [mpm_event:通知] [pid 1903:tid 139769062209408] AH00494:收到SIGHUP。 试图重新启动 我明白这个通知可能与日志轮换有关。 我目前有52个较旧的日志,但我有足够的磁盘空间(我使用了7.74GB的63.7%)。 奇怪的是,当我第一次使用apachectl graceful-stop时就开始发生这种情况。 每次发生的时候,日志都会被轮转,但是那时没有什么新东西进入日志,直到我手动重启apache。

nginx proxy_pass仅适用于根path

我想将nginx设置为apache的反向代理。 我在端口8080上有apache。它只适用于根path,例如https://www.example.com ,但它不适用于https://www.example.com/index.html location / { try_files $uri $uri/ /index.php; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; } 我尝试join斜线地址,如http://127.0.0.1:8080/,但后来我得到configuration错误。 就像这里: https : //stackoverflow.com/questions/21662940/nginx-proxy-pass-cannot-have-uri-part-in-location我试图使用重写,但我不知道该重写什么是。

在MySQL中存储系统用户时,Apache无法启动

我正在pipe理6台服务器,其中3台在重启后无法启动Apache。 这三个共同之处在于它们都依赖于MySQL / MariaDB来存储系统用户(通过libnss-mysql-bg )。 Apache也被设置为mpm-itk ,导致网站在自己的系统用户下运行。 这使我相信,Apache启动时无法启动的原因是它在vHost文件( AssignUserID )中看到对系统用户的引用,它目前还找不到,因为MySQL尚未完成启动。 除非有人能build议我一个更好的解决scheme,我如何确保Apache只在 MySQL运行之后才启动? Apache也似乎没有自己的systemd服务文件。 服务器都运行Ubuntu 16.04.2 LTS systemd。

Apache安全托pipe基于perl的backuppc图在web GUI中缺less,哪一个是最好的解决scheme?

系统:新鲜和更新的Ubuntu Xenial Xerus 16.04.2。 从一个干净的最小系统开始,只安装openssh。 为了安装backuppc 3.3.2,我做了以下操作: apt-get install backuppc rsync libfile-rsyncp-perl par2 smbfs 剩下的工作就是安装,安装apache2和perl等依赖项。 如果您认为这可能很重要,我将编辑该问题,并将粘贴日志中的相关行。 之后,我做了备份第一台主机所需的所有configuration,几天后我又回到testing实验室检查它是如何工作的。 我必须说,backuppc是一个美丽的软件,它做了 – 甚至比我所期望的更好! 我只注意到主屏幕上的图表没有显示, 故障排除只能从apache日志中返回一条信息: ERROR: opening '/var/lib/backuppc/log/pool.rrd': Permission denied 绝对是一个权限问题:/ var / lib / backuppc由backuppc:backuppc拥有,而Apache在www-data帐户下运行。 谷歌的错误返回这样的修复: Resource | Actual perms | Solution's perms /var/lib/backuppc | 2750 | 2751 /var/lib/backuppc/log | 750 | 751 /var/lib/backuppc/log/pool.rrd | 640 | […]

设置自定义名称来下载文件

我的sites-available有以下configuration文件sites-available <VirtualHost *:80> ServerName my.domain RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] </VirtualHost> <VirtualHost *:443> ServerName my.domain DocumentRoot /var/www/html ErrorLog /var/www/logs/error.log CustomLog /var/www/logs/access.log combined SSLEngine on SSLCertificateFile /var/www/certs/certificate.pem SSLCertificateKeyFile /var/www/certs/private.key SSLCertificateChainFile /var/www/certs/ca_bundle.pem <Directory /var/www/html> Options -Indexes AllowOverride All Require all granted </Directory> <Directory /var/www/html/nav> DirectoryIndex nav.exe AllowOverride All Require all granted </Directory> </VirtualHost> […]

Apache模块mpm-itk和authnz_external

我想在一个VirtualHost authnz_external模块中为系统用户使用,而mpm-itk模块在另一个用户下运行它。 我的VirtualHost的configuration文件看起来类似这样: <VirtualHost *:8081> AddExternalAuth pwauth /usr/bin/pwauth SetExternalAuthMethod pwauth pipe <IfModule mpm_itk_module> AssignUserId user1 apache </IfModule> <Directory /var/www/user1_folder/> AuthType Basic AuthUserFile /var/www/user1_folder/apache.users AuthName "private area" AuthBasicProvider external AuthExternal pwauth require valid-user </Directory> </VirtualHost> 但是,如果我使用这种configuration,我不能login到networking。 在Apache的error_log文件中是这样的: [Wed Jun 14 15:43:04.449652 2017] [unixd:alert] [pid 17150] (1)Operation not permitted: AH02156: setgid: unable to set group id to […]

为什么64位的Apache显示httpd为32位?

我正在尝试在Windows Server 2012上安装Apache 64位。我正在使用下载链接 – https://www.apachelounge.com/download/ 每当我解压Win64的变化,我看看httpd的可执行文件,它说,它是32位体系结构的W32。 我在这里做错了什么?

如何使apache2通过我运行的SOCKS5服务器连接?

我有一个运行在同一台计算机上的apache2和SOCKS代理服务器的网站。 该网站可以公开访问,我的SOCKS5服务器在本地主机上。 如何使来自Apache服务器的传入和传出stream量通过我的SOCKS服务器? 这很容易通过客户端来完成,因为他们可以托pipeSOCKS服务器(自己)并更改configuration(例如通过Firefoxnetworking)。 我需要这个的原因是因为我有修改的SOCKS中的function,操纵交通为公司的目的。 模型:客户端< – > SOCKS服务器< – > … Internet … < – > SOCKS服务器< – > Web服务器