我正在运行CentOS 5.8,我不得不改变我的服务器的IP地址。 之后,我无法启动Apache。 我也运行virtualmin。 我收到的错误是:无法启动服务 Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 184.106.146.125 for ServerName (99) Cannot assign requested address: make_sock: could not bind to address 50.56.33.100:8080 no listening sockets available, shutting down Unable to open logs 我编辑我的httpd.conf指向新的IP地址,如: #Listen 12.34.56.78:80 Listen 184.106.146.125:80 而看着这个错误,它似乎仍然指的是旧的IP地址(50. *)。
我使用Amazon EC2大型实例(内存7.5 GB)为我的http服务器。 最近我注意到我的ssh命令运行缓慢,所以我检查了内存使用情况。 free -t -m total used free shared buffers cached Mem: 7455 7373 82 0 1404 39 -/+ buffers/cache: 5929 1526 Swap: 0 0 0 Total: 7455 7373 82 所以有些东西消耗了大量的内存。 我每天两次重新启动httpd释放内存,大约在12小时左右,它又变满了。 每日平均CPU利用率低于20%。 这里是按内存使用情况sorting的最高合并率。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 31492 apache 20 0 98.6m 4444 460 […]
经过一些debugging之后,我发现mod_security的核心规则集阻止了没有(可选的!)ACCEPT头域的请求。 这是我在日志中find的: ModSecurity:警告。 需要匹配“rx ^ OPTIONS $”和“REQUEST_METHOD”。 [file“/etc/apache2/conf.d/modsecurity/modsecurity_crs_21_protocol_anomalies.conf”] [line“41”] [id“960015”] [msg“Request Missing Accept Header”] [severity“CRITICAL”] [tag“ PROTOCOL_VIOLATION / MISSING_HEADER“] [主机名”example.com“] [uri”/“] [unique_id”T4F5 @ H8AAQEAAFU6aPEAAAAL“] ModSecurity:访问被代码400拒绝(阶段2)。 需要匹配“rx ^ OPTIONS $”和“REQUEST_METHOD”。 [file“/etc/apache2/conf.d/modsecurity/optional_rules/modsecurity_crs_21_protocol_anomalies.conf”] [line“41”] [id“960015”] [msg“Request Missing Accept Header”] [severity“CRITICAL”] [标签“PROTOCOL_VIOLATION / MISSING_HEADER”] [主机名“example.com”] [uri“/”] [unique_id“T4F5 @ H8AAQEAAFU6aPEAAAAL”] 为什么这个标题是必需的? 我知道“大多数”客户发送这些信息,但为什么他们的缺席被视为安全威胁?
我只购买了一个SSL证书来保护/启用一台服务器上的多个虚拟主机上的一个域。 我打算如下所示进行configuration(非SNI)。 另外,我还想通过服务器的IP地址安全地访问phpMyAdmin。 下面的configuration工作吗? 我只有一个镜头来使这个工作在生产中。 有没有多余的设置? —apache ssl.conf file— Listen 443 SSLCertificateFile /home/web/certs/domain1.public.crt SSLCertificateKeyFile /home/web/certs/domain1.private.key SSLCertificateChainFile /home/web/certs/domain1.intermediate.crt —apache httpd.conf file—- … DocumentRoot "/var/www/html" #currently exists … NameVirtualHost *:443 #new – is this really needed if "Listen 443" is in ssl.conf??? … #below vhost currently exists, the domain I wish t enable SSL) <VirtualHost *:80> ServerAdmin […]
我想设置一个单一的客户端IP地址可以根据他们的IP地址对我的服务器的请求数量的限制。 Nginx有一个limit_req_zone指令。 但是,这个指令实际上会限制平均点击次数。 如果我将限制设置rate=6r/m ,那么实际上每10秒只能有一次命中。 相反,我需要的是每分钟的实际限制。 例如,客户应该能够相互或甚至同时快速地发出3或4个请求,但是不超过例如每分钟10个。 有没有办法做到这一点?
我正在build立一个新的服务器,我打算主持多个Ruby on Rails应用程序。 服务器运行的是Ubuntu 10.04 LTS,我已经设置了Apache虚拟主机,这样每个应用程序都有自己的站点可用configuration文件(指向Rails公共目录)。 然后,我从sites-enabled/(CONFIG FILE HERE)到sites-available/(CONFIG FILE HERE)的符号链接。 网站可用 root@HAH-UBUNTU-GER /etc/apache2/sites-available # ls default default-ssl application1.com application2.com 网站已启用(符号链接) root@HAH-UBUNTU-GER /etc/apache2/sites-enabled # ls 000-default application1.com application2.com 有关符号链接的更多信息: root@HAH-UBUNTU-GER /etc/apache2/sites-enabled # ls -l total 0 lrwxrwxrwx 1 root root 26 2012-05-04 11:41 000-default -> ../sites-available/default lrwxrwxrwx 1 root root 39 2012-05-04 12:28 application1.com -> […]
我在我的error.log中遇到了一堆这些错误: [客户端1.2.3.4]代理服务器:没有HTTP 0.9请求(没有主机线)在传入请求和保护软pipe集强制主机名为www.mydomain.com为uri / 我的configuration基本上是: ProxyRequests Off <VirtualHost 1.2.3.4:80> ServerName www.mydomain.com DocumentRoot "c:/apache/htdocs" ProxyPreserveHost On ProxyPass / http://172.1.1.1/ </VirtualHost> <VirtualHost 1.2.3.4:443> ServerName www.mydomain.com DocumentRoot "c:/apache/htdocs" # SSL Stuff ProxyPreserveHost On ProxyPass / http://172.1.1.1/ </VirtualHost> 任何人都有一个想法如何消除这些警告?
我正在设置Apache来进行智能卡身份validation。 智能卡login基于由OS驱动程序处理的客户端SSL证书。 我目前只有一个智能卡提供商,但将来有可能有几个。 我不确定Apache 2.2如何。 处理每个位置的客户端authentication。 我做了一些快速testing,似乎只有最后一个SSLCACertificateFile指令是有效的,这听起来不对。 如下所述是否可以在Apache(2.2,2.4)的每个位置具有不同的SSLCACertificateFile,或者SSL协议在某种程度上限制了每个IP不能有多个SSLCACertificateFile? 示例潜在configuration如何在同一台服务器上处理多个SSLCACertificateFile以允许用户使用不同的智能卡提供的login。 <VirtualHost 127.0.0.1:443> # Real men use mod_proxy DocumentRoot "/nowhere" ServerName local-apache ServerAdmin [email protected] SSLEngine on SSLOptions +StdEnvVars +ExportCertData # Server-side HTTPS configuration SSLCertificateFile /etc/apache2/certificate-test/server.crt SSLCertificateKeyFile /etc/apache2/certificate-test/server.key # Normal SSL site traffic does not require verify client SSLVerifyClient none SSLVerifyDepth 999 # Provider 1 <Location /@@smartcard-login> SSLVerifyClient […]
我正在尝试在PHP-FPM chroot中设置一个站点。 我的path如下: chroot = /var/www/ chdir = www/ chroot工作得很好,没有chdir。 但是,当我添加chdir我得到这个错误在PHP的启动: ERROR: [pool www] the chdir path '/usr/www/' within the chroot path '/var/www/' ('/var/www///usr/www/') does not exist or is not a directory 有人知道为什么它会追加/usr/ chdirpath? 有没有办法把它从这个path中删除? 另外,如果我将chdirpath更改为/www/ ,则必须浏览到http://localhost/www/filename.php以查看我的文件。 chdir的重点并不是没有必要吗?
在服务器级别设置Apache的SSLStrictSNIVHostCheck on是一个好主意吗? 将它设置为虚拟主机是否更好? 这个设置有什么优点和缺点?