Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


Apache Web Server





The Apache HTTP Server is a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards. Typically Apache is run on a Unix-like operating system, but it is available for a wide variety of operating systems, including Linux, Novell NetWare, Mac OS-X and Windows. Released under the Apache License, Apache is open-source software.

Share tech news, updates, or what's on your mind.

Sign up to Post

I have a Tomcat 8.5 service on a Windows server and I have noticed that Tomcat service does not restart on server reboot so I have to go in and restart it manually. it is very strange as the Startup Type is set to Automatic.

Can anyone please help me diagnose and fix the issue?
[Webinar] Lessons on Recovering from Petya
LVL 10
[Webinar] Lessons on Recovering from Petya

Skyport is working hard to help customers recover from recent attacks, like the Petya worm. This work has brought to light some important lessons. New malware attacks like this can take down your entire environment. Learn from others mistakes on how to prevent Petya like worms.

I have been using wamp server with windows 10 for months without a problem, I don't have skype and IIS is disabled.  It's been working fine until today, now the icon is yellow and it is apache that is not working.  I tried to start it manually and checked again that port 80 is free.  Any ideas what could be causing this?
Hi Experts,

I'm wondering how to best log access-logs on Apache while using ProxyPass based on <Location>.

Here are 3 things I have in mind that I'm trying to implement:

  1. I would like to be able to identify the STATUS code Apache received from our application server (ProxyPass) and the STATUS code Apache sent to end-user. I'm not 100% sure how to identify these separate status codes as of now based on %s "<" or ">" redirection possibility on documentation.
  2. I would like to know if it is possible to log the server IP (application server) that processed the request on the backend (ProxyPass), where the response is coming from.
  3. Any recommendation on how to log full headers from REQUEST and RESPONSE headers, including POST data?

This is my current log format:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%v\" %D \"%{UNIQUE_ID}e\"" custom

And the VHOST has the following config:

ProxyVia Full
ProxyRequests Off
ProxyPreserveHost On

<Location /admin/>
Order deny,allow
Allow from all

On the above ProxyPass IP (, that IP is a server pool from haproxy load balancer, it has 4 servers, so for each request, I can land on a different server in that pool.

Apache version: 2.2.15

Thank you!
Dear Experts,

I have a client who rebuilt his website, and asked us to do some URL redirects for him. but a certain link I get stumped with, I tried encoding, decoding and everything I could think of to make that work, but still it refuses to work!
Site is hosted on cPanel with Apache WebServer, all redirects except for this one works fine.

Original link:

(Cleints says that the %d7 must be part of the matched URL for SEO reasons)

should redirect to

Any help would be greatly appriciated.

I've been trying to set up a subdomain for development  e.g

I've created a new dns record in Linode Dns manager for and also copied the to and renamed the Server name and Server Alias to and in that file.  I also updated the document root to the correct folder on the server /home/public/   then I ran a2ensite and reloaded apache2

But every time I try to access I'm geting another site showing up which is the default site on the server.

How can I find the issue here and fix it?
Suppose i added url like in reverse proxy to access it from outside of my company.and suppose my domain name is .By i can open it from outside.but while opening from out side it is coming as help me out from this issue.

Thanks in advance.

I want to have a url that looks like this:

the form to edit is at this location:

can someone help me with the correct syntax ?

Thank you
Dear EE,
 We have RHEL 6.5. ...OS running Apache 2.2 web server. Now we need to upgrade it to Apache 2.4. This is a Linux server environment hence no direct connection to the internet . Is there a way we can upgrade to Apache 2.4 using rpm files and what are the quick installation steps ? I am not the original configuration guy for this server so really careful not to break anything. Kindly advise. Thanks !
down vote
I am trying to create clean urls by adjusting the .htaccess file

Firstly i want to string out the script type (.php) and then rewrite some of the urls. I have created the following .htaccess file

RewriteEngine on

ErrorDocument  400 /errors.php

RewriteCond %{REQUEST_FILENAME}.php -f   --> Ref A

RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteRule ^logged_in/team/(\d+)*$ /logged_in/team/?team=$1 --> Ref B

Open in new window

I have successfully removed the .php from the urls but cannot get the team rewrite to work.

Essentially, i have a url of

Open in new window

i want it to become  --> i want it to be able to have query stings after this as (ref B)

Open in new window

Example of a potential page 

Open in new window

With regards to reference A. I have been looking at the following tutorial (

and noticed they included
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

Open in new window

I dont see a problem with the first but would the second counteract ref A? Should these be included as well?

[root@localhost httpd-2.4.27]# ./configure
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
configure: Configuring Apache Portable Runtime library...
checking for APR... no
configure: error: APR not found.  Please read the documentation.
[eBook] Windows Nano Server
 [eBook] Windows Nano Server

Download this FREE eBook and learn all you need to get started with Windows Nano Server, including deployment options, remote management
and troubleshooting tips and tricks

I'm trying to figure out how to have wildcard sub-directories on my webserver. In example:

would go to without redirecting


would go to without redirecting.

Any help would be appreciated, thank you!
Hi All,
We have a new Tomcat installation and management have asked me to install a SSL certificate on it, I have absolutely no Java/Tomcat experience but it has a plug on it so it falls to me.

I have found several guides online how to accomplish this and followed them to the letter.

The site loads fine but Crome shows a cross through the HTTPS stating its not secure.

I followed the below guides in sequence.
 I then purchased a Certificate from our approved supplier once received I had both the SLL cert and an Intermediate cert I then followed the below to install them.

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" keystoreFile="C:\Users\Administrator\.keystore" keystorePass="*********"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreType="JKS" />

What I have tried
I have tried adding keyAlias="tomcat" to the xml above but when I do that the site does not load at all.

Im really struggling any help appreciated.


John H
I am using the below RewriteRule which does what I require. However it effects any other created folders within the "materials/guide/" folder. Can I change it so it only applies to the "materials/guide/details/ folder?

RewriteRule ^materials/guide/([A-Za-z0-9-]+)/?$ /materials/guide/details/index.php?link=$1 [NC]

Open in new window

Or exclude other sub folders in "materials/guide/" if easier?
While installing tomcat how to know which http free port is free?8080 is always busy occupied by glassfish etc.

any tool or software etc which tells all free and occupied ports on my windows laptop to decide which port to allocate to tomcat?

what is ajp/1.3 conector port 8009 which shows while installing?
please advise
I have a network like this: Database - Web - Redis - Internet.
The Redis is on CentOS 7, i use nginx and php5. The redis and database are install in 1 VPS.
I would like to know does redis connect to the database or not, could i know it's caching or not from INFO command?
And further, if i want it to write back to database after a unit of time, what should i do, and how can i config it?
Thank you very much for reading this.
I am currently trying to develop a database for simultaneous remote user access (not a LAN network). From what i've researched, im going to do the LAMP stack (Ubuntu 16.04 server, Apache, MySQL and PHP). However, would this force the 10 end users to enter data through php and then I would have to connect the PHP forms to MySQL database? Can end users manage to see the tables this way or edit changes to database once they submit the forms?  Thanks for your help!
We are still using Tomcat 6.0 and plan to move to latest version by next year. Problem with current version is to set the access deny to our web-application.

I tried adding valve with webapps/META-INF/context.xml file as below but nothing works. Can you please provide a fix.

<Context antiJARLocking="true" path="/">
<Valve className="org.apache.catalina.valves.RemoteIpValve" />
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="{IP_address}" />


<Context antiResourceLocking="false" privileged="true">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1,8\.8\.4\..*"/>

Open in new window

Do you guys have any another solution as I want to restrict outside users from accessing Manager view and it will be accessible only from localhost?

Best Regards
I have to connect to stored procedure and get the datatable by using tomcat .
Any suggestions appreciated.
I have a Debian server with about 15 websites running fine. I added a new website and that is too running fine. However, I also want to add a ssl connection for this website, but whatever I try Apache refuses to show the website. It just shows the default debian page. I allready tried replacing the default ssl file with the file for the website, but then I get a ssl protocol error. Apachectl shows no errors, so do the logs. If I make an error in the config file apachectl gives an error, so the conf file is read by Apache. I've been figuring this out for hours, but I am completely stumped now.
Free Tool: SSL Checker
LVL 10
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

   We are facing 502 proxy error: Error reading status line from remote server <dns>:<port>   when we try to  reverse proxy to Apache server from our apache server. OS is Redhat linux. A simple redirect works but not the proxy. Also we see the 200 ok only through browsers and not curl or wget commands.  We tried setting  SetEnv proxy nokeepalive 1   but still no luck. Any suggestions for the same.
Hey Guys,

I'm using WIN 2008 server and IIS6 along with Tomcat6. I'm getting timeout for a document while timeout limit is set to 200 sec at both end.
I believe below 120422 is the time it took before time out and error shown as 502.3

PDF&APPLICATION_NAME=FORM=KEY=VALUE=27086&X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=********54225b6eecd0 443 - 10.*.*.* Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:52.0)+Gecko/20100101+Firefox/52.0 502 3 12002 120422
Have you ever faced such scenario?

I have run phpinfo(); and it tells me there are three modules -

v7.1, v5.6 and v5.3 in c:/program Files and c:/Program Files x86 but the only one I can find is v7.1 which I'm running.

I had installed 5.3 and 5.6 earlier and thought I had removed them but they are still listed somewhere.

Will this matter to PHP (which it doesn't at this point) or where can I find them to be removed ?

Hi experts,

I'm setting up an Apache server to host new site of my company and I have a problem with few browsers.
When a JS file is modified The change takes effect only when we empty browser cache.

We would like the change to take effect when the user closes and reopens his browser.
Is there any settings I could add to my Apache conf to solve this?

Thank you,

Hello Experts,

What's wrong with this code: ??  ( in httpd.conf )

RewriteEngine on
RewriteCond %{REMOTE_ADDR} !="[1-50]\.[0-255]\.[0-255]\.[0-255]"
RewriteRule /scripts/(.*) http://localhost:81/scripts/$1 [P,L]
RewriteRule /game/(.*) http://localhost:81/game/$1 [P,L]

RewriteCond %{REMOTE_ADDR} !="[51-99]\.[0-255]\.[0-255]\.[0-255]"
RewriteRule /scripts/(.*) http://localhost:82/scripts/$1 [P,L]
RewriteRule /game/(.*) http://localhost:82/game/$1 [P,L]

RewriteCond %{REMOTE_ADDR} !="[100-150]\.[0-255]\.[0-255]\.[0-255]"
RewriteRule /scripts/(.*) http://localhost:83/scripts/$1 [P,L]
RewriteRule /game/(.*) http://localhost:83/game/$1 [P,L]

RewriteCond %{REMOTE_ADDR} !="[151-200]\.[0-255]\.[0-255]\.[0-255]"
RewriteRule /scripts/(.*) http://localhost:84/scripts/$1 [P,L]
RewriteRule /game/(.*) http://localhost:84/game/$1 [P,L]

RewriteCond %{REMOTE_ADDR} !="[201-255]\.[0-255]\.[0-255]\.[0-255]"
RewriteRule /scripts/(.*) http://localhost:85/scripts/$1 [P,L]
RewriteRule /game/(.*) http://localhost:85/game/$1 [P,L]

RewriteCond %{REMOTE_ADDR} ="192\.168\.1\.[1-255]"
RewriteRule /scripts/(.*) http://localhost:86/scripts/$1 [P,L]
RewriteRule /game/(.*) http://localhost:86/game/$1 [P,L]

Open in new window


Looks like only one instance of my webservice is doing all the heavy work, while the others don't.
The webservices are pre-set to listen to ports 81-88, but looks like the port 81 guy doing all the work.

webservices and their RAM usage...

What I am trying to do is spread the workload to the different web-services listening to the ports, correctly so a better balance-loading is achieved.

I run apache 2.2.16 (win 32) with php 5.3.3.

Any ideas?
Hi Guys,

I am having an issue with my server where my server is running really slow, i can see the load avg is pretty high, there is only one site running on it


I have attached the error log and the only issue , is where it says empty input file for (which does actually exist)

i have changed DNS over the last 24 hours

Apache Web Server





The Apache HTTP Server is a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards. Typically Apache is run on a Unix-like operating system, but it is available for a wide variety of operating systems, including Linux, Novell NetWare, Mac OS-X and Windows. Released under the Apache License, Apache is open-source software.