[apache] Port 443 in use by "Unable to open process" with PID 4

I have a very strange problem with my Apache 2.4 working with Xampp 1.8.2 on Windows Server 2008 R2.

When I tried to start Apache server in XAMPP, an error message is shown:

[Apache]    Problem detected!
[Apache]    Port 443 in use by "Unable to open process" with PID 4!
[Apache]    Apache WILL NOT start without the configured ports free!
[Apache]    You need to uninstall/disable/reconfigure the blocking application
[Apache]    or reconfigure Apache and the Control Panel to listen on a different port

However, the process with PID 4 is system! I've tried to restart my computer and it doesn't work.

I have installed Apache 2.4 via a tar.gz file sereral days ago, and uninstalled it. So, I don't think this behavior will cause the problem.

And here's the result using commond netstat -a -n -o | findstr 443

C:\Users\Administrator>netstat -a -n -o | findstr 443
  TCP    0.0.0.0:443            0.0.0.0:0              LISTENING       4
  TCP    [::]:443               [::]:0                 LISTENING       4

Can you tell me what to do?

This question is related to apache xampp

The answer is


The port is being used by another process,

PID 4 means it is Windows System, you can open a cmd window with "super user/administrator" priviledges and write "net stop http", it will stop all the web services. Then check if it freed the port.

I had the same problem and it happened to be the "Routing and Remote Access Service". You open Services in the windows search, and then look for the specific service name. Change the startup of it to manual or automatic (whatever you decide).

Use some app like TCPView to help what port each App PID is using.

The origin of the problem seems to be Microsoft not knowing what the word disable Microsoft VPN means...


I had the same problem and solved by doing following.

Go to Task Manager, click on services tab, order by pid's than if you find the related process, kill it otherwise, right click and click on show details, the process should be shown now. order by pid's than kill the related process.


Similarly, I experienced this: Port 443 in use by "Unable to open process" with PID 6012! When starting XAMPP Control Panel v3.2.1 for the first time.

In Task Manager I found that PID 6012 was Apache web server. A copy of it was running in the background without the GUI, and when I invoked the GUI it was trying to start another copy. Killed the phantom copy and then XAMPP started up fine.

I didn't have to change any port settings.


I had the same problem when I installed xampp on Windows 7. I installed Windows server and Web Deployment Agent Service (MsDepSvc.exe) which uses port 80. So I had an error PID 4 listening to port 80 when I ran apache.

Solution

Open task manager: (Ctrl+Shift+Esc) then find "MsDepSvc.exe" and disable it. Finally restart xampp

ref: http://www.honk.com.au/index.php/2010/10/20/windows-7-pid-4-listening-port-80-apache-cannot-star/


I had the same problem. Another way to solve this problem when running XAMPP on Windows:

  1. Open a CMD prompt and type in command: net stop was /y

  2. Run Dialog Box (press keys Win+R) .. then type: services.msc

I then scrolled down to: World Wide Web Publishing Service Double clicked on it and clicked STOP (if this service status is Started)

3.Start Apache again with XAMPP :)

Link Ref: http://www.sitepoint.com/unblock-port-80-on-windows-run-apache/


I simply went to the XAMMP config button in the XAMPP control panel GUI and clicked on Server and Port settings and I changed the SSL port value.


A simple way to fix this is to change the XAMP port to a random number.


Below steps by sztupy worked for me

I went to Control Panel\Network and Internet\Network and Sharing Center and clicked on Change adapter settings

I clicked on Incoming Connections and right clicked on properties

The VPN click box at the bottom of the General tab was on, so I unchecked it

Under Users, I also unchecked a previous user I had allowed to copy some data weeks before

Then I clicked okay

Closed the control panel and restarted the XAMPP control panel


Simply run as Administrtor "xampp-control.exe"


STEPS

  1. Un-install apache(xampp) software from your windows.
  2. Delete the xampp folder from c folder.
  3. Delete the folder from recycle-bin to permanently delete the xampp folder
  4. Restart your computer.
  5. Finally install a clean copy of apache(xampp) software.

    (By Engineer Rafiq Ahmad Qureshi) [email protected]


Probably some process is using that port, i would guess you have another webserver running with ssl/tls already. You must trac down what process is using the port and shut it down. The fact that it does not help to restart your computer makes me think that you may find what you are looking for in msconfig. Try to have a look there, open prompt and write msconfig

post 443 is normaly used by secure http, => https

I have never used windows server but there could be some built in webserver that autostarts, have you ever installed another webserver?

Try use the command Netstat -a -n -o to see what process that is blocking. you can the process pid from the output.

The Routing and RAS - service is your problem i guess look at this post

it does this, thats why its blocking:

SSTP tunneling protocol Secure Socket Tunneling Protocol (SSTP) is a new form of virtual private networking (VPN) tunnel with features that allow traffic to pass through firewalls that block PPTP and L2TP/IPsec traffic. SSTP provides a mechanism to encapsulate PPP traffic over the SSL channel of the HTTPS protocol. The use of PPP allows support for strong authentication methods, such as EAP-TLS. The use of HTTPS means traffic will flow through TCP port 443, a port commonly used for Web access. Secure Sockets Layer (SSL) provides transport-level security with enhanced key negotiation, encryption, and integrity checking.

from tecsupport.ms


I got this same error and managed to fix it by closing Skype and running XAMP as Administrator, works perfectly now. So right click THE XAMP icon and click run as admin.


I ran task manager and looked for httpd.exe in process. Their were two of them running. I stopped one of them gone back to xampp control pannel and started apache. It worked.


Some process is using this port, so you can change the port that is used by xampp, to be able to use it. For this job you have to do this:

1- Open httpd-ssl.conf in xampp\apache\conf\extra

2- Look for the line containing Listen 443

3- Change port number to anything you want. I use 4430. ex. Listen 4430.

4- Replace every 443 strings in that file with 4430.

5- Save the file.


I had this same problem with port 443, process id 4 and everything. For me it was not the VPN using the port, it was IIS. To fix this I opened up IIS and right clicked on my instance and stopped it. Then IIS Express(Or apache if you're using that) was able to use port 443. Hope this helps someone else.


I had a similar issue where port 443 was blocked by PID 4. After breaking my head for several hours I found the command netsh show urlacl which gave me an idea of the system process blocking the port.

To run command run cmd or windows shell in administrator mode.

netsh

http

show urlacl

I got response a which showed 443 was blocked by NT Service SSTPSvc Reserved URL

Response

https://+:443/sra_{BA195980-CD49-458b-9E23-C84EE0ADCD75}/ User: NT SERVICE\SstpSvc Listen: Yes Delegate: Yes User: BUILTIN\Administrators Listen: No Delegate: No User: NT AUTHORITY\SYSTEM Listen: Yes Delegate: Yes

With this information I followed the microsoft link to change the listening port for SSTP based vpn. https://support.microsoft.com/en-in/kb/947032

This resolved my port issue.


Modify this

LocalDisk **>>** xampp **>>** apache **>>** conf **>>** httpd.conf
Line 58: Listen **80**

for this

Line 58: Listen **8080**

Modify this:

Line 220: ServerName localhost: **80**

for this

Line 220: ServerName localhost: **8080**

Modify this:

LocalDisk **>>** xampp **>>** apache **>>** conf >> extra **>>** httpd-ssl.conf
Line 36: Listen **443**

for this

Line 36: Listen **444**

Modify this:

Line 121: <VirtualHost _default_:**443**>
Line 125: ServerName www.example.com:**443**

For this

Line 121: <VirtualHost _default_:**444**>
Line 125: ServerName www.example.com:**444**

Just change the sll port in httpd-ssl.conf file. It would be under C:\xampp\apache\conf\extra. Find "443" and replace it with other values(e.g 8181), then start your apache again


Here it was the "Work Folders" feature having been added on a Server 2012 R2. By default it is listening for HTTPS client requests on port 443 via the "System" process. There is a Technet blog post explaining how to change that port number. Don't forget to add a corresponding firewall rule for your custom port and disable the existing one for port 443 though.


The solution by "Mark Seagoe" worked for me too. I got a message that "Port 443 in use by Unable to open process with PID 14508". So i opened task manager and killed this process 14508. This was used by my previous xampp version and it was orphaned.

so no need to change any ports or anything, this is a simple two step process and it worked .