我们运行带有多个站点(每个都有自己的域或子域)的apache2服务器,使用SSL(同一IP上也有多个证书,但主要是子域的星号证书)。 现在我们遇到一个问题,那就是当每个服务器有超过20-30个独立的站点时,重启需要20多秒。 日志不显示任何东西,我不知道如何确定需要很长时间才能重新启动。 这可能是连接 – 运行apache2ctl -S也需要大致相同的时间量(当我运行一个接一个的重启或者一个接一个的时候,如果我等了一分钟左右, apache2ctl -S快又慢)。 我怎么能解决这个问题? 如何确定导致这些重启速度缓慢的原因(我们需要重新启动,当我们添加新的网站,并慢慢变得难以pipe理)。 – 更新 – 所以,毕竟这是一个问题。 有一些变化可能使我指向一个正确的方向: 其中一台服务器突然开始像我期望的那样快速工作。 不知道为什么发生,因为我不能确定这是什么时候发生的。 我比较了Apache的configuration,在所有的服务器上它们几乎完全相同,但是一个现在很快重启,另外两个仍然很慢(> 2分钟)。 现在,就在最近,当解决其他问题时,我遇到了一些有关ipv6设置减缓某些证书发行等的意见。我testing了ipv6连接,只有差异我发现是在一个快速的服务器上,当我试试这个: wget -6 https://google.com/ 我得到这个: –2017-06-09 07:49:32– https://google.com/ Resolving google.com (google.com)… 2a00:1450:4009:809::200e Connecting to google.com (google.com)|2a00:1450:4009:809::200e|:443… connected. HTTP request sent, awaiting response… 302 Found Location: https://ipv6.google.com/sorry/index?continue=https://google.com/&q=EhAqAX4AAAAAAPA8kf_-iVh9GIym6ckFIhkA8aeDS9iurm4ysYfhKSPR5hfHhPY5mBEsMgNyY24 [following] –2017-06-09 07:49:33– https://ipv6.google.com/sorry/index?continue=https://google.com/&q=EhAqAX4AAAAAAPA8kf_-iVh9GIym6ckFIhkA8aeDS9iurm4ysYfhKSPR5hfHhPY5mBEsMgNyY24 Resolving ipv6.google.com (ipv6.google.com)… 2a00:1450:401b:802::200e Connecting […]
我有三个站点在一个共享主机(Bluehost)中运行一个专用的IP地址。 说明如下: example.com =>这是主站点和域名,是一个WP example.net =>这是一个附加域名(不知道你是否熟悉这个术语),并正在运行另一个WP站点 subsite.example.net =>这是一个独立的PHP应用程序 每个WP都有它自己的.htacess文件,如下所示: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress 有了这个.htaccess文件,两个WP网站都可以正常工作,但独立的应用程序却没有。 如果我删除.htaccess文件然后是相反的,独立的应用程序工作,但WP网站没有。 有没有可以帮助我find解决这个问题? 更新 我正在使用独立PHP应用程序的.htaccess文件的以下configuration: <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond […]
在具有centos面板的VPS上,我将Apache作为web服务器,将Nginx作为反向代理。 我听说第二个比Apache处理PHP请求更快,我想将它configuration为WebServer for 1的网站,但是我仍然需要另外一个Apache。 可能吗? 我的目标是加快php页面的服务时间。 例如wp-admin / admin-ajax.php需要7秒才能呈现! 我会期待0.5秒。
我正在尝试将domain.comredirect到domain.se/en ,但它不起作用。 这就像另一个重写或redirect发生在domain.se/sv 之前,我有机会 。 我试过多个VirtualHostsconfiguration和.htaccess变种没有成功。 domain.com使用指向与domain.se (主域)相同的IP的Alogging。 我怀疑WordPress插件Polylang可能会重写URL或导致redirect,然后我有机会。 我的.htacces目前看起来像这样: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} .*domain.com.*$ RewriteRule ^(.*)$ http://domain.se/en [L] </IfModule> # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress 和我的VirtualHostsconfiguration看起来像这样:(注意.no和.fi也错误地redirect到.se/sv ) NameVirtualHost *:80 […]
我有一个稳定多年的设置。 突然间,我得到的文件不应该存在于应该由mod_rewrite处理的项目上的Apache错误日志。 昨天晚上,我做了一个PHP / MySQL(不是Apache)的包更新,但我回滚了,它仍然有问题。 .htaccess和apacheconfiguration没有被触及。 我仍然在寻找线索,但到目前为止我几乎没有任何线索。 看起来像我们从本地networking(这是一个不同的服务器托pipe的networking)内的任何东西都没有问题。 如果我从我的手机打开了无线,我有时看到问题。 所有的文件不存在的path是有效的mod_rewrite处理。 我可以打他们没有问题。 有点困惑,并在接下来要寻找什么。 我inheritance了这个configuration,我试过不去碰它,但是这里是我们为这个虚拟主机准备的。 RewriteEngine on RewriteCond %{HTTP_HOST} !^www.domain.com RewriteRule ^(.*)$ http://www.domain.com$1 [R=301,L] 在公共文件夹中也有一个.htaccess与很多configuration。 这是一个相关的块: RewriteEngine On RewriteBase / #Correct some bad external links RewriteRule ^lh$ / [L,R=301] <FilesMatch "^cart$"> ForceType application/x-httpd-php </FilesMatch> 我已经把mod_rewritelogging到了9,并且匹配了apache错误日志中的一个请求。 init rewrite engine with requested uri /cart/ViewItem/6054668 applying pattern '^(.*)$' to uri […]
我有一个问题,Apache传递给PHP $_SERVER['REQUEST_URI']variables的URL重写后,而不是原来的请求。 我正在做这个重写,因为我有一个WordPress的网站,并希望将其移动到一个子目录,而不是在根path中,但仍然希望保持其URL为根URL。 这并不一致。 如果我请求www.xyz.com/wp-admin它将使用www.xyz.com/wordpress/wp-admin (这是重写后的URL)填充PHP REQUEST_URIvariables,但是如果我请求www.xyz.com/wp-admin/ (带有斜线),它实际上使用www.xyz.com/wp-admin/ (原始URL,在重写之前)填充PHP REQUEST_URIvariables。 我想要的是在REQUEST_URI被重写之前填充URL。 我的.htaccess文件如下: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^(www.)?xyz.com$ RewriteCond %{REQUEST_URI} !^/wordpress/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /wordpress/$1 RewriteCond %{HTTP_HOST} ^(www.)?xyz.com$ RewriteRule ^(/)?$ wordpress/index.php [L] </IfModule>` PHP版本是5.3。 Apache版本是2.4(Win32)。 更新 :我更深入地研究它,当我inputurlwww.xyz.com/wp-admin首先有一个301redirect到www.xyz.com/wordpress/wp-admin/但是这不会发生www.xyz.com/wp-admin/ (带有斜线)。 对于具有斜线的那个,只有重写,如预期的那样。 所以现在的问题是为什么301redirect发生在URL的第一个地方没有结尾的斜杠。 为了澄清,没有实际的文件夹/wp-admin/ ,但是有一个文件夹/wordpress/wp-admin/ 。
我对.htaccess挺.htaccess而我只是没有深入了解发生了什么事情。 服务器只是说,即使我看不到任何理由“redirect”,超过了10个内部redirect的限制。 它只发生在我尝试使用/users/Username , /users/显示一个错误,该用户无法find这是我想要的, /users/Username引发500内部服务器错误。 文件本身是好的,数据库检查也应该工作。 .htaccess文件是: RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] RewriteCond %{REQUEST_FILENAME}.php -f RewriteCond %{REQUEST_URI} !/$ RewriteRule (.*) $1\.php [L] IndexIgnore * ErrorDocument 400 / ErrorDocument 404 / RewriteRule ^users/([a-zA-Z0-9_-]+)/?$ users.php?id=$1 [NC,L]
我尝试将所有的urlredirect到除了wordpresspipe理和wordpress REST API之外的根目录。 我在.htaccess有这些规则: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/wp-admin.* RewriteCond %{REQUEST_URI} !^/wp-json.* RewriteRule ^.*$ / [L,R=301] </IfModule> 这是完美的工作,所有的redirect期望的/wp-json路线,我得到404错误。 此外,我有我的apache日志文件中的这些错误types: File does not exist: […]/dmjob/wp-json, referer: http://dmjob.dev:8888/ 你能帮我么 ? 非常感谢 ! 🙂
我在Ubuntu上使用Apache 2.4.18。 我想只允许从本地主机读取服务器状态。 在/etc/apache2/mods-enabled/status.conf我有: <Location /server-status> SetHandler server-status Require ip 127.0.0.1 </Location> 我已阅读https://httpd.apache.org/docs/2.4/howto/access.html和从我相信上述configuration应该工作。 我重新启动了Apache,以确保新的configuration处于活动状态。 然而,状态页面仍然可以从任何地方阅读。 在/etc/apache2/sites-enabled/mysite.conf我有: DocumentRoot /var/www <Location /> Require all granted </Location> 我的configuration有什么问题?
问题 一句话 SNS Topic向HTTPs用户发送太多通知。 更详细 我已经在我的一个S3存储桶中启用了事件,并且通过HTTPS将我的一个应用程序订阅到了它的SNS Topic 。 一切都很好,直到今天,当我的应用程序开始花太长时间回应。 在重新启动EC2实例并注意到问题仍然存在之后,我SSH到了EC2实例,并意识到我几乎立即连接了,命令正在执行,没有明显的延迟。 所以我知道问题不在实例networking中。 我去检查Apache日志,那是当我注意到每秒数百(或许数千)的POST请求。 查看下面的日志片段。 问题(S) 有没有办法看到是否将S3发送所有这些通知事件到SNS? 另外,这可能是S3每秒接收很多上传,甚至可能吗? 最后,我可以做些什么来阻止这个,而不是简单地退订这个话题? Apache日志: 72.21.217.87 – – [02/Mar/2017:15:33:52 -0500] "POST /notifications HTTP/1.1" 500 619 "-" "Amazon Simple Notification Service Agent" 72.21.217.133 – – [02/Mar/2017:15:33:52 -0500] "POST /notifications HTTP/1.1" 500 6404 "-" "Amazon Simple Notification Service Agent" 72.21.217.141 – – [02/Mar/2017:15:33:52 -0500] […]