Articles of httpd

如何在Apache中为特定国家设置Directory

所以我需要设置一个具有一个域的VirtualHost ,根据IP地址将客户端路由到不同的应用程序。 例如,我想要一个访问example.com的美国用户来自/path/to/usa/application而来自不同国家的用户应该来自/new/international/application/path

在CentOS上共享使用Apache收集数据(SELinux)

我的CentOS 7 VPS启用了SELinux,由Collectd监控。 它使用rrdtool来logging报告的数据。 Pommi发布了一个很好的解决scheme,使我能够查看一个名为CGP的网页上的所有数据( http://pommi.nethuis.nl/collectd-graph-panel-v0-4/ )。 RRD数据存储在/var/lib/collectd/my.host.name中 drwxr-xr-x. root root system_u:object_r:collectd_var_lib_t:s0 my.host.name 当我打开CGP页面时,它指出Error: No Collectd hosts found in /var/lib/collectd/rrd但是当我禁用SELinux时,我的主机显示出来,并且正常工作。 审计日志显示: audit.log包含以下条目 type=AVC msg=audit(1410524820.750:15750): avc: denied { getattr } for pid=10468 comm="httpd" path="/var/lib/collectd/rrd" dev="dm-0" ino=72430599 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:collectd_var_lib_t:s0 tclass=dir 和 type=SYSCALL msg=audit(1410524820.750:15750): arch=c000003e syscall=4 success=no exit=-13 a0=7f093426da68 a1=7fff4fa46ae0 a2=7fff4fa46ae0 a3=1 items=0 ppid=10461 pid=10468 auid=4294967295 uid=48 gid=48 […]

为什么Apache可以访问我的大部分文件系统?

我最近发现,只要我给出一个完整的path,我的Web服务器将为我的文件系统上的任何文件提供读取权限。 换句话说,就像 http://www.example.com/Users/john/Desktop/Costa%20Rica/DSC_0058.jpg 将愉快地由Web服务器服务。 尽pipe每个DocumentRoot设置只指向/Library/WebServer/Documents 。 为什么Apache服务于整个文件系统? 它可以被closures吗?

在AWS EC2上为Tomcat 8 webservice设置VirtualHost

除了AWS EC2 Linux上的默认Apache之外,我还安装了Tomcat 8并在其上部署了一个Web服务。 当前的URL(工作)是http://example.com:8080/MyService/api/generatePath 我想使这个更短的子域api.mydomain.com,以便我可以使用这个URL: http ://api.example.com/generatePath。 这是我在/etc/httpd/conf/httpd.conf所做的,但是不起作用: <VirtualHost *:80> ServerName api.example.com ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:8080/MyService/api ProxyPassReverse / http://localhost:8080/MyService/api </VirtualHost>

Apache在VirtualHost中提供静态文件

我有以下的VirtualHostconfiguration。 <VirtualHost *:80> ServerName myservername.website <Location /> ProxyPass http://localhost:5000/ ProxyPassReverse http://localhost:5000/ </Location> </VirtualHost> 目前, ProxyPass应用程序正在为/ var / www / static生成一系列静态文件。 我宁愿Apache服务于此。 我不知道该怎么说 – “当接收到/ static的请求,然后从/ var / www / static在文件系统上提供”。 我该怎么做呢?

Httpd / Apache2虚拟主机和主机名冲突

我有一个域,即test.example.com。 我用uisng设置我的服务器的主机名为: hostname test.example.com 然后我在/etc/httpd/conf/httpd.conf中添加一个虚拟主机 NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /var/www/html/ </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html/mydir ServerName test.example.com ServerAlias www.test.example.com </VirtualHost> 然后我重新启动Httpd服务。 如果我尝试访问test.example.com,我得到index.php / var / www / html而不是指定的文件夹。 如果我将主机名更改为除此之外的其他内容,然后重新启动httpd,则虚拟主机将按预期工作,所以我只能假定在有主机名的传入连接时,apache会剥离该url。 在PHP打印时 $_SERVER['REQUEST_URI'] $_SERVER['REDIRECT_URL'] 我得到/。 谁能告诉我如何才能克服这个问题,或者我应该保持主机名设置为别的? 我有一个使用主机名作为目录名的备份脚本,所以我可以很好地组织备份,这是我首先更改主机名的主要原因。

我如何获得Apache 2.2.17的启动?

我在Fedora v14上运行Apache 2.2.17。 我无法从浏览器访问正在运行的Web服务器,并且在设置端口443时也遇到困难。 服务器httpd正在运行: [me@host ~]$ sudo ps -U root -u root u | grep httpd root 6592 0.0 3.4 404620 17552 ? Ss 10:50 0:00 /usr/sbin/httpd -k graceful 然后我停止服务: [me@host ~]$ sudo apachectl stop 然后,我在/etc/httpd/conf/httpd.conf设置Listen指令来侦听端口80和443: Listen 1.2.3.4:80 Listen 1.2.3.4:443 https (IP不是1.2.3.4而是该主机的实际IP地址。) 我检查了其他Apache conf指令,以确保我有一个文档文件夹,它可以被所有用户访问,并且它会显示文件夹的目录列表,如果我没有指定index.html等 当试图启动httpd ,我得到一个configuration错误: [me@host conf]$ sudo apachectl graceful (98)Address already in […]

Apache:将子域redirect到新的子域

我有一个单一的域名。 主应用程序来自一个单独的子域app.domain.com 。 我需要一个简单的永久redirect来redirect到app.domain.com用户redirect到newapp.domain.com 。 这样用户可以更新书签。 这是暂时的,我希望它在apache级别(目录级别),不想通过htaccess文件来做到这一点; 例如我想在httpd.conf中做这个改变。

从客户的帐户启动httpd

我正在运行一个Web服务器(Apache,MySQL,PHP,cPanel),并面临一些问题,有些用户从他们的帐户启动httpd服务器。 这会导致巨大的过载。 ps auxf命令的一部分: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND infor8 30135 0.0 0.0 28996 3372 ? SN 08:42 0:00 /usr/sbin/httpd infor8 30136 0.0 0.0 28996 3440 ? SN 08:42 0:00 /usr/sbin/httpd infor8 30137 0.0 0.0 28996 3364 ? SN 08:42 0:00 /usr/sbin/httpd infor8用户实际上有数百个这样的进程。 我正在从以下方式从哪个目录search进程: lsof -p 30135 perl 25631 […]

CentOS 5.5的“setuptool”工具没有显示我所期望的所有选项

我正在尝试第一次安装服务器。 我正在运行CentOS 5.5。 在我正在经历的一本名为“CentOS权威指南”的书中,它在关于设置Apache Httpdnetworking服务器的章节中说,为了configuration防火墙,我应该运行“setuptool”工具,它给出了一个很好的用于configuration各种事物的GUI。 唯一的事情是,我的setuptool只显示一个选项 – 身份validationconfiguration,而书中有一个选项,其中包括我想要的是防火墙configuration。 这是我在电脑上看到的: 这就是本书所说的我应该看到的: 任何人都可以告诉我,我需要做什么来让setuptool拥有我需要的所有选项? 非常感谢