我的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> […]
我已经在新鲜的centos7上安装了httpd和php,并将一些文件放到/ var / www / html中,包括我写的安装脚本。 该脚本需要写入/ var / www / html目录中的configuration文件。 我创build了一个空的configuration文件,并将其转换为apache:apache。 然而试图用写权限来打开这个文件总是会给出错误: fopen(/var/www/html/config-local.php): failed to open stream: Permission denied 做研究我读了这句话:“为了达到一个文件,所有的父目录必须是可读的。” 所以我检查了他们。 /,/ var,/ var / www和/ var / www / html都是可读的。 那么这里发生了什么? 看来,apache用户是一种特殊的限制用户,因为testing与标准用户相同的场景工作正常。
我想在LDAP中根据用户的组ID来授权SVN访问,这样我就可以摆脱AuthzSVNAccessFile。 /etc/httpd/conf.d/subversion.conf如下:(AuthLDAPURL从“Apache Directory Studio”的“search日志”视图中获取) LoadModule authnz_external_module modules/mod_authnz_external.so LoadModule authz_unixgroup_module modules/mod_authz_unixgroup.so DefineExternalAuth pwauth pipe /usr/sbin/pwauth LDAPTrustedMode SSL LDAPVerifyServerCert Off <Location /repos> DAV svn SVNPath /var/www/svn/repos AuthName "SVN Repos" AuthType Basic AuthzLDAPAuthoritative on AuthBasicProvider ldap #AuthzSVNAccessFile /var/www/svn/users-access-file AuthLDAPURL ldaps://ldap_l.cisco.com:10648/ou=users,dc=sprint,dc=com?hasSubordinates,objectClass?one?(objectClass=*) SSL AuthLDAPBindDN "uid=admin,ou=system" AuthLDAPBindPassword secret Require ldap-group ou=users,dc=sprint,dc=com Require ldap-attribute gidNumber=491 </Location> 服务器的LDIF详细信息: version: 1 dn: ou=users,dc=sprint,dc=com objectClass: […]
简而言之: 我在局域网上有几台ESXi6服务器,我可以在浏览器中成功加载https://host.tld/页面。 在互联网上公开的一台ESXi6服务器上,当在浏览器中加载页面时,我禁止了403台服务器。 更详细的描述: VEEAM B&R无法连接到WAN ESXi6.0.0(5572656),原因是ESXi的httpd(我使用浏览器确认https://host.tld/ )的403响应。 访问https://host.tld适用于所有本地ESXi服务器,但不适用于WAN ESXi服务器。 (但是,VSphere在所有的服务器上都能正常工作)。因为这个服务器暴露在互联网上,所以我可能在几年前最初设置时将其configuration为被locking,但是如果是这种情况,我必须错过了写一个文档,现在只是忘了我是如何做到的。 浏览器收到403的事实表明,实际上有一些http(s)正在进行,所以我不认为它是防火墙。 在ESXi6中可以configurationhttp访问权限? 提前致谢! T.
我们正在安装Apache httpd服务器的过程中实施某些控制。 其中一个指令,我们试图使用的是LimitRequestBody 。 它指出: 该指令指定请求主体中允许的从0(表示无限制)到2147483647(2GB)的字节数 我们需要限制上传大小为5 GB,但是,指令允许最大值为2 GB或无限制。 使用无限制似乎有风险,因为可以上传几个字节的文件并导致拒绝服务。 有没有办法解决这个问题?
当我运行ps aux命令时,我看到/usr/sbin/apache2 -k start (在Ubuntu机器上)和/usr/sbin/httpd -k start (在Centos中)有很多条目。 我已经从某个地方看过,这些条目中的每一个都是一个apache进程,它是事先创build的,以便为将来的服务器请求做好准备。 所以,据我所知,这些apache进程中的每一个都是为http请求提供服务,并在作业完成后closures,其他进程将被创build以为将来的其他请求做好准备。 我不清楚的是,每个Apache进程将服务页面载入或命中? (由于每个页面载入可能有几十个命中)。 我在问这个问题,因为我看到了两种不同的Ubuntu和Centos行为。 我对Ubuntu更加熟悉,当我有很多命中不存在的页面时,我的Ubuntu机器从未遇到过高负载问题(当我说不存在的页面时,这意味着文件不存在于服务器中,不会被.htaccess文件重写成一个php文件) 但是,最近我必须pipe理一个Centos服务器。 我看到一些不好的机器人只是在1-2秒内将20-30次命中到不存在的页面上,每次发生的时候,平均负载都会很高,而且我也看到很多/usr/sbin/httpd -k start从ps aux命令/usr/sbin/httpd -k startinput。 所以我猜Centos会为每个命中使用一个httpd进程,而在ubuntu中,每个apache进程都可以用于多个命中。 这是正确的猜测吗? 如果这是正确的,我认为与Ubuntu相比,Centos是非常低效的。 任何人都可以澄清这些点,以便我可以看到我失踪? 非常感谢你! 更新1 : 我也看到了另一个区别:当我从ubuntu机器打开一个url时,一个/usr/bin/php5-cgi进程被创build,并且这个进程仍然在那里很长时间(小时),即使pageload在1- 2秒。 所以我想这个PHP进程是持有一些caching信息,以便它可以用于服务下一个页面请求(我没有看到一个新的/usr/bin/php5-cgi进程,当我继续浏览到另一个页面) 但在Centos机器上,当我访问一个页面,如果我很幸运,我可以看到一个/opt/cpanel/ea-php56/root/usr/bin/php-cgi进程,并且这个进程在1-2秒后立即消失 更新2 这里是/etc/apache2/apache2.conf(Ubuntu)的内容 # This is the main Apache server configuration file. It contains the # configuration directives that give the server its instructions. […]
为了validation我们的应用程序的用户,我有一个可以用下图表示的设置: 我有一OpenAM运行OpenAM的服务器(图中的OpenSSO Enterprise),有几台客户机服务器,并使用Apache2 ( HTTPD )服务器作为具有两种代理configuration的反向代理。 我有一个使用以下虚拟主机configuration的身份validation和redirect的functionstream程: <VirtualHost *:443> AmAgent On AmAgentConf /opt/web_agents/apache24_agent/bin/../instances/agent_1/config/agent.conf ProxyPreserveHost On ProxyPass /application1 https://server1.com:10443/application1 ProxyPassReverse /application1 https://server1.com:10443/application1 </VirtualHost> 我连接到https://reverseproxy.com/application1 ,redirectOpenAM身份validation,并在login后redirect到server1.comlogin页面。我还有一个辅助configuration( agent_2 ),它根据策略configuration文件在OpenAM中configuration。 当想要在两个不同的ProxyPass/ProxyPassReverse实例上configuration两个不同的OpenAMconfiguration时,出现了我的问题。 上面的代码片段在侦听端口443的虚拟主机上的所有内容上都使用AmAgentConf 。但是,我希望两个应用程序都可以在相同的反向代理URL上访问,以使用正确的代理configuration。 理想情况下,我想要像下面这样的东西: <VirtualHost *:443> ProxyPreserveHost On ProxyPass /application1 https://server1.com:10443/application1 ProxyPassReverse /application1 https://server1.com:10443/application1 ProxyPass /application2 https://server2.com:443/application2 ProxyPassReverse /application2 https://server2.com:443/application2 <Proxy "https://server1.com:10443/*"> AmAgent On AmAgentConf /opt/web_agents/apache24_agent/bin/../instances/agent_1/config/agent.conf </Proxy> <Proxy "https://server2.com:443/*"> […]
我们有RHEL 6.5服务器,作为本地YUM服务器,并使用httpd。 它运行在6809港口。直到昨天,它运行良好。 我的同事之一是在不同的服务器上进行一些额外的部署应该使用YUM服务器,但百胜无法连接。 他承认,他也在YUM服务器上做了一些工作,但他并不知道正在做一些与httpdconfiguration有关的事情。 所以我们意识到YUM服务器上的httpd没有运行,拒绝启动: # service httpd start Starting httpd: (98)Address already in use: make_sock: could not bind to address 172.29.84.41:6809 no listening sockets available, shutting down Unable to open logs [FAILED] 我们已经检查过端口6809没有被lsof和netstat占用: lsof -iTCP -sTCP:LISTEN -P -n 和 netstat -tupan | grep -Ei LISTEN 全部清楚,没有其他的过程。 我们还在/ etc / httpd目录中search了Listen,并且只有6809端口的单个指令: httpd# grep -Ri […]
由于某种原因,我每次停止使用httpd的第二个实例 /usr/sbin/httpd -f /otherplace/httpd.conf -k stop 我的一个或两个tomcat实例被杀死(从内存中取出),没有给出任何错误或跟踪发生的事情。 我使用下面的命令启动了第二个实例: /usr/sbin/httpd -f /otherplace/httpd.conf -k start 下面的细节: 我的Tomcat实例绑定到不同IP上的端口80。 httpd的第二个实例绑定到端口5634(没有任何绑定到这个端口)。 有tomcat的instaces,他们不会被杀害,就像一个随机的事情。 谢谢你的帮助。
我有一个多个虚拟主机设置所有与指向一个共同的文件相同的DocumentRoot,我已经设置了每个站点定制文件的AliasMatch,我想知道如果我可以为每个虚拟主机.htaccess文件。 #Sample vhost <VirtualHost xxx.xxx.xxx.xxx:80> ServerName mytest.com ServerAlias www.mytest.com DocumentRoot /home/commonfiles/public_html …… AliasMatch /css/(.*) /home/ftpuser/public_html/mycss/$1 </VirtualHost> #Sample vhost 2 <VirtualHost xxx.xxx.xxx.xxx:80> ServerName mytest2.com ServerAlias www.mytest2.com DocumentRoot /home/commonfiles/public_html …… AliasMatch /css/(.*) /home/ftpuser2/public_html/mycss/$1 </VirtualHost> 我已经添加了.htaccess的AliasMatch,但没有奏效。 #vhost 1 AliasMatch /.htaccess /home/ftpuser/public_html/.htaccess #vhost 2 AliasMatch /.htaccess /home/ftpuser2/public_html/.htaccess 有什么build议么? 提前致谢。