HTTPS domain shows blank page while HTTP works fine - amazon-web-services

When I navigate to my domain link: https://www.mdxbusiness.com I see a blank page with no errors.
I have to note that before I forwarded the HTTP to HTTPS the http://www.mdxbusiness.com worked fine.
I have:
GoDaddy domain with a valid SSL Certificate.
AWS EC2 2 instances associated to Elastic Load Balancer with HTTP & HTTPS Listeners (and security groups).
CName in GoDaddy that links to the AWS Elastic Load Balancer.
In both AWS EC2 instances I have an RDP with IIS with a binding to HTTP & HTTPS - The HTTPS has the SSL Certificate of the GoDaddy's domain.
I use Microsoft Windows Server 2012 R2 Base in both AWS EC2 instances, I have their the DB which is the SQL SERVER and the project which is MVC.
Again - The HTTP worked good as expected but the HTTPS not - shows a blank page.
What could be the cause for this and how can I fix it?

Your ELB listeners should match below setting. The HTTPS should listen to Port 80

Related

Can't access server since switching to https on aws

I am deploying a MERN stack using EC2 on AWS.
I have created SSL certificates for the following domains:
example.com
*.example.com
www.example.com
The cname and cvalue for example.com and *.example.com are identical but they are different for www.example.com
I have set up target groups and a load balancer and edited the listener to redirect from http to https.
I have set up 3 different records in the hosted zone of route 53 so that www.example.com, *.example.com and example.com are directed to the loadbalancer
I can load https://example.com
http://example.com directs to https://example.com
When the website loads (either by typing http or https) it does not connect to the server.
I am getting the following error in the console:
Mixed Content: The page at 'https://example.com/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://54.220.212.131:5000/events'. This request has been blocked; the content must be served over HTTPS.
54.220.212.131 is the site's IP and 5000 is the server's port. This is hard coded in the front end.
How should I get the client to send requests to the server for a https connection?
It sounds like you have two services running, a front-end service that you have correctly configured to run behind a load balancer, and a back-end service that you are connecting directly to via the server's IP address on port 5000.
Your backend on port 5000 is not secure, and that is exactly what the web browser's error is telling you. You need to configure all your services to run behind the load balancer. You need to create a second target group that sends traffic to port 5000 on your server, and setup a routing rule on the load balancer's listener to send all traffic for api.ticketglen.com to that target group. Then you need to change your hard-coded values in from http://54.220.221.131:5000 to https://api.ticketglen.com.
What worked for me was to create the SSL certificates from the server and delete them and the load balancer altogether from the AWS platform.
Process is outlined here

SSL certificate installation issue in AWS

I try to install the SSL certificate in my AWS ec2. Here are the steps which I follow.
1 - Request certificate from certificate manager services.
2 - Verify the certificate with the DNS method(Add Cname record in
hosted zone of the domain).
3 - Make a load balancer and install the certificate in ec2 instance.
4 - Add .htaccess www and https redirect for the URL.
But when I open my website, it still shows 'Not Secure'. When I try to check the SSL certificate via 'Online SSL Checker'. I didn't find my certificate. It shows some error 'No SSL certificates were found on domain.com. Make sure that the name resolves to the correct server and that the SSL port (default is 443) is open on your server's firewall.'. Please help.
Please check the following
If there is a HTTPS listener in your load balancer
The security group
attached to the load balancer allows HTTPS traffic from port 443
You have added a alias A Record in your domain name pointing to the dns hostname of your elastic load balancer

How to configure HTTPS on an ELB application?

I have a client application hosted on S3 with a custom domain on godaddy. Cloudfront is serving all of the http(s) requests - all of that is well and good. I have an SSL certificate through ACM. There is an input dialog on the UI that when submitted, makes a POST request to a flask application running on ELB, but this request is failing because ELB is not configured for HTTPS (i.e. chrome is blocking an HTTP request because of mixed-content). Requests to the HTTP version of the endpoint work fine, but HTTPS requests time out. How do I configure the ELB load balancer to accept HTTPS requests? I've modified the configuration of the load balancer like so: https://imgur.com/3zWpS7f but requests are still failing. Any tips? Much appreciated!!
EDIT: I've configured the load balancer with a security group that allows ingress on 443 with HTTPS but now i'm getting a "Not secure" message with Chrome. is this because the certificate is registered with a domain associated with the site and not this api? do i need a separate certificate? The error code from chrome is: err_cert_common_name_invalid

AWS certificate manager https configuration for domain

I have a slight problem with SSL.
Currently if I were to route to my domain as example.com, it goes to the http version instead of the https version.
However, if I were to force https://example.com, it stays as https://example.com
I'm wondering what I have to do on the certificate manager side of AWS to get https working when I type in example.com without the https.
I have already configured my route 53 aliases for my domain to route to my elastic beanstalk url. I also have an SSL certificate for my domain example.com and *.domain.com that were both validated successfully, that are Amazon issued and also In Use.
Have you tried redirecting http traffic (80) to https (443)? This answer contains the steps
For ALBs, you can follow the below steps,
1.Add lister for https and forward the traffic to the target group
2.Add Lister for http and forward the traffic to https
Final Setup:

Issues in setting up https for domain. Files are on Amazon Beanstalk

I want to setup https for my domain name. My files are on AWS Beanstalk(php website)
I have my namecheap ssl for the domain registered.
On EC2 Console:
The ELB was configured by default. I added my SSL to I AM and attached with the ELB that was created with the project. I want to terminate the HTTPS requests from the web at my ELB and send http requests to my instance.
Security groups:
ELB: the default elb (http, https and ssh ports configured) and default vpc is attached to ELB(http and https configured. source is 0.0.0.0 for all)
Instance: default vpc security group is attached.
When I try to do https://the_aws_elb_link :
chrome error: NET::ERR_CERT_COMMON_NAME_INVALID
safari error: host name mismatch
I checked md5 for all the ssl uploads made. They check out.
When I try to enter my domain name with https: This site can’t be reached
What I want: https://www .mydomain .com and authentication at my ELB
elb listners configured
CNAME settings
You need to set up the ELB listeners this way then it will work.
Your Domain is pointing to the EC2 IP address it should point to the AWS ELB C-Name then it will serve the SSL Certificate.
ping www.lbacs.org
PING www.lbacs.org (98.124.199.6): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1