我有一个时间得到一个SSL证书与在CentOS上运行的Apache一起工作。 这是我第一次试图让SSL工作,所以我需要一些帮助。 我已经做了很多的阅读和尝试,并尝试不同的解决scheme,但我卡住了 我有一个域名,并从GoDaddy的域名SSL证书。 我相信在经过一些试验和错误之后,证书已经正确安装,但是当我导航到我的域时,我在Chrome和Firefox上都遇到了错误。 奇怪的是他们给我不同的错误。 要清楚,我正在浏览www.mydomain.ca。 Chrome提供了一个“ERR_CERT_COMMON_NAME_INVALID”错误。 Firefox提供了一个“SSL_ERROR_BAD_CERT_DOMAIN”错误。 我不知道常见的名称的问题,但我敢肯定,bad_cert_domain发生,因为httpd不是用域名replace地址栏中的IP地址。 我认为这是一个重写规则。 我已经添加到我的httpd.conf文件的末尾。 如果有帮助,我可以包含更多的文件。 我不太了解重写规则,并从教程中解除了这个问题。 我已经尝试了许多不同的版本,包括有一个单独的站点可用的文件夹与conf文件,但结果是一样的。 <VirtualHost *:443> ServerName www.MYDOMAIN.ca ServerAlias MYDOMAIN.ca DocumentRoot /var/www/html/ RewriteEngine On RewriteCond %(HTTP_HOST) !^MYDOMAIN.ca$ RewriteRule /.* https://MYDOMAIN.ca/ [R] </VirtualHost> 我的问题是,为什么httpd没有用域名replaceIP地址,为什么Chrome会报告通用名称错误? 谢谢
背景:在ELB后面有六个networking服务器,每个networking服务器运行两个虚拟主机站点。 我的httpd.conf文件没有configuration为prefork MPM或工人MPM或事件MPM。 我试过了:我检查了下面的path,发现prefork mpmpath的默认configuration:usr / share / doc / httpd24-2.4.23 / httpd-mpm.conf # prefork MPM # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare # MaxSpareServers: maximum number of server processes which are kept spare # MaxRequestWorkers: maximum number of server processes allowed to […]
我被要求在我们的Jira服务器前设置一个基本的身份validation提示。 我正在使用httpd上的proxypassthrough来允许首先访问jira。 当我尝试连接时,我收到提示,并在完成login后,我被发送到适当的页面,但它都是白色的,没有代码返回。 日志显示,我每次都返回一个401。 这是我的ssl.conf ServerName jira.mydomain.com ProxyPreserveHost On # setup the proxy <Proxy *> Order allow,deny Allow from all </Proxy> ProxyPass / http://jira.mydomain.com:6666/ ProxyPassReverse / http://jira.mydomain.com:6666/ <Location /> AuthType basic AuthName "Too Many Secrets" AuthBasicProvider file AuthUserFile /etc/httpd/.foopasswdfile Require valid-user Order allow,deny Allow from all </Location> Httpd访问日志显示: GET /login.action?os_destination=%2Findex.action&permissionViolation=true HTTP/1.1" 401 381 "-" "Mozilla/5.0 […]
所以最近,我不得不重置我的服务器,因为一些问题和东西。 而现在,我一直在试图重新设置它,而这只是对我而言没有帮助。 我已经成功安装了httpd ,它可以与我的网站一起工作。 但是当我尝试添加一个SSL证书时,CentOS敢于骗我,它不存在。 这里是journalctl -xe的输出。 Sep 26 17:00:11 localhost systemd[1]: Starting The Apache HTTP Server… — Subject: Unit httpd.service has begun start-up — Defined-By: systemd — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel — — Unit httpd.service has begun starting up. Sep 26 17:00:11 localhost httpd[5579]: AH00526: Syntax error on line 15 of /etc/httpd/enabled/msdfw.conf: Sep 26 17:00:11 localhost […]
我试图在运行Fedora 26服务器的Digital Ocean Droplet上使用apache httpd来设置虚拟主机。 我遵循这个教程: 如何在CentOS 7上设置Apache虚拟主机 ,假设Fedora和CentOS有相似之处。 我已经按照教程来设置这个虚拟主机,如下所示: <VirtualHost *:80> ServerName www.mywebsite1.com ServerAlias mywebsite1.com DocumentRoot /var/www/html/mywebsite1.com/public_html ErrorLog /var/www/html/mywebsite1.com/log/error_log CustomLog /var/www/html/mywebsite1.com/log/requests_log combined </VirtualHost> 但是,设置后,我得到httpd无法启动。 事实certificate,这是造成这个错误,因为我追溯到httpd错误日志: (13)Permission denied: AH00091: httpd: could not open error log file /var/www/html/mywebsite1.com/log/error_log. AH00015: Unable to open logs 那么,我查找了解决scheme,发现这可能是由于SELinux政策。 使用ls -lZ /var/www/html/mywebsite1.com ,打印出当前策略如下: total 8 drwxr-xr-x. 2 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 4096 […]
所以我已经阅读了所有与我的问题有关的问题,但是找不到任何帮助。 背景:我有一个服务于其他网站的应用程序(网站),并为网站添加了一些HTML,每个网站都对我的服务器进行简单的AJAX调用,当页面加载时,有时可能会发送5-如果他们在该页面上有几个我的HTML,那么每个网页的请求数为10。 老问题:现在我有大约800个网站,每次页面加载它发送一个AJAX请求到我的服务器(非常简单的请求 – TTLB = 500毫秒),但我收到了很多,你可以明白,每一秒我得到10-40个请求。 似乎没有太多,但我的服务器开始挣扎,没有任何东西,我有EC2 t2大,我的CPU使用率可以达到60%,在高峰时间和以上。 解决scheme:我已经修复了代码,它现在只发送1个AJAX请求,每分钟最less发送一次,每1分钟从1个IP获得1个请求,比从1个IP刷新每个页面5-10个好很多。 新问题:如果网站在我的应用程序中更改设置,只能得到新的代码,电子邮件将很快发送,但直到比(不是每个人都有固定的代码),我需要假设我没有解决这个问题,但不会变得更糟(或者变得更糟糕)。 我试过的:看了top命令之后,我发现这个过程看起来好像什么也没有做,闲着大约1分钟,然后被删除,我知道这个脚本大约需要500ms才能完成(甚至更less)当进程闲置时,每个进程的CPU使用率为0.3%,当你有20-50个进程(其中一些实际上正在做的东西,而不是占用2-7%的CPU),这是很多,所以我做了这个AJAX返回的结尾: header('Connection: close'); header('Content-Length: '.ob_get_length()); ob_end_flush(); ob_flush(); flush(); $cpid = posix_getpid(); $result = posix_kill($cpid, 9); 我发送我的回应,并删除了PHP脚本运行的过程中,我的CPU下降到18%,同时达到60%,仍然是18%,不低于10%,所以我认为一切都是仍然完成,没有太多的这些AJAX请求的进程。 但事实并非如此,我很高兴,我testing了我的应用程序,发现有些代码没有运行(更长的代码发送http请求并在文件中做事),我没有testing它,删除上面的代码块和问题消失了,所以我假设每个进程都不处理单个请求,所以我不能立即杀死这个进程。 我的想法是:我可以尝试使用configuration并设置进程,以便每个进程都可以处理单个连接,或者我可以设置less量的最大进程来打开,并且不会打开太多的进程,这些testing中的一些将帮助我,并且会解决我的问题,但是从长远来看,这也可能会伤害我,或者我不会考虑这个问题。 我知道这是不理想的玩这些configuration,但它看起来像我没有任何更好的主意(除了升级我的服务器,但它看起来像我不需要浪费钱)。 我该怎么办? 你知道更好的解决scheme吗? 我的一个想法会起作用吗? 我不知道我需要分享什么信息,但让我知道,所以我可以发布。
我们使用一个httpd服务器来作为托pipe我们的应用程序的基于docker的servlet容器的代理。 最近它已经被要求通过Apache进行基本authentication(所述apache也可以作为其他一些站点的代理),这是一个问题,因为我们在应用服务器上使用基本authentication。 (和在Apache和应用服务器Apache的凭据不需要是相同的) 是否可以容纳这个? 我应该考虑什么其他的select,将需要最小的变化?
我安装了apache tomcat连接器并成功configuration了所有设置,httpd服务也启动了,但是在加载网页的时候,却抛出了500个内部服务错误。 在错误日志中显示下面的错误: Permission denied: apr_global_mutex_lock(jk_log_lock) failed Permission denied: apr_global_mutex_unlock(jk_log_lock) failed Permission denied: apr_global_mutex_lock(jk_log_lock) failed Permission denied: apr_global_mutex_unlock(jk_log_lock) failed 安装了Apache连接器版本: 1.2.42 安装httpd版本: 2.4.28 这是我的httpd.conf文件 LoadModule jk_module modules / mod_jk.so JkWorkersFile /usr/local/apache/conf/workers.properties JkLogFile logs/mod_jk.log JkLogLevel emerg JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat "%w %V %T %p %q %r %v %U" […]
在ELB后面的三台Linux服务器上有两台虚拟主机。 我已经为我的ELB启用了代理协议,这样ssl的请求在实例上而不是在ELB上终止。 我在我的一个虚拟主机日志中看到错误非常持续 错误日志: [Thu Oct 19 14:57:07.126415 2017] [proxy_protocol:error] [pid 2992] [client 127.0.0.1:47348] ProxyProtocol: no valid header found [Thu Oct 19 14:57:07.471596 2017] [proxy_protocol:error] [pid 3076] [client 127.0.0.1:47388] ProxyProtocol: no valid header found [Thu Oct 19 14:57:07.785776 2017] [proxy_protocol:error] [pid 3076] [client 127.0.0.1:47428] ProxyProtocol: no valid header found [Thu Oct 19 14:57:07.909984 2017] [proxy_protocol:error] […]
我在维护Drupal站点时遇到了一些问题。 客户不会更新不安全的模块,他们还会开发自定义的不安全模块,导致黑客上传php脚本,从favicon.ico文件运行一些eval恶意代码,或从/ sites / default /文件中上传任何文件夹。 我不能禁用eval,因为Drupal需要它的几个东西,如访问pipe理网站和其他东西(我已经尽力使用Suhosin禁用它,但最后我只是把它放回去)。 所以,我希望能够在Apache级别上过滤出无效的上传文件,如果这样的话是可能的:我的意思是,testing上传的文件的魔头/签名和文件,如果不符合标准则抛出错误。 我想到了只是select: mod_mime和AddInputFilter ,但我还没有find一种方法来实现这样的filter。 告诉所有开发者改变所有已经写好的代码的选项被丢弃,不幸的是。 有任何想法吗? PS:我主要关心的是那些貌似天真的文件,比如favicon.ico文件,头部像<php? eval('…') <php? eval('…') 。 但是我需要让人们能够上传ico文件。 这是危险的内容,并且可以从任何能够访问上传文件的文件执行,因此执行上下文可能是“安全的”path。 评估是危险的,但需要:(