Search code examples
apacheamazon-web-serviceswampamazon-elbelastic-load-balancer

Configure WampServer3 to work with AWS Certificate Manager, Application Load Balancer over port 443


Question:

Is it possible to use WampServer3 (Apache, PHP, MySQL) to work with my Application Load Balancer over port 443? If so how?

Issue:

Currently my application load balancer is connected to my instance and I have 2 listeners, Port 80 and Port 443. The listener on port 443 has an SSL Certificate attached to it that was generated by the AWS Certificate Manager.

  • My target group that is listening on port 80 is healthy and working properly.
  • My target group that is listening on port 443 is unhealthy and timing out.

I know that port 443 is failing due to the Apache settings but I am not sure how I am supposed to enable the port in Apache.

Based on everything that I have read, Apache requires you to have the physical file and key for the SSL in order for it to allow requests through port 443. I have tried to follow the instructions without those two things but WampServer3 will not restart without them.

I feel like there has to be a way to get this to work but I have hit a wall. Perhaps I am not searching for the right thing, or I am missing an additional module that needs to be used.

TLDR: Because the SSL that is generated by the AWS Certificate Manager cannot be physically downloaded, how can I get it to work with Apache on Windows 10 without having the file or key?

EDIT

So to my understanding I need to not only put the Rewrite code below in my <VirtualHost>

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]

I also need to put X-Forwarded-Proto: https at the top of my healthcheck.php page before the <html> tag? I'll keep reading about this since I don't fully understand it.


Solution

  • I ended up not using the AWS Certificate Manager at all due to the hurdles that one has to overcome in order to get it to work.

    Instead I found a great resource that provides SSL Certificates for free - LetsEncrypt. I would highly recommend this solution for everyone due to the ease of use. Plus they seem to be backed by many reputable companies.