I was sure this was a Centos bug with OpenSSL, Apache, MySQL or even PHP. I tried everything but nothing helped. One clue is that if you check the Apache logs you will see nothing in the access logs until minutes later (this means Firefox has not even passed your request to the remote Apache/htttpd server).
When even accepting the invalid certificate message that would show up minutes later when trying to "View the Certificate" Firefox would freeze. This bug is present in even the latest Firefox 53.
Eventually I realized it was just with Firefox and I suspected it was related to the self-signed SSL certificate even though I've had no problems before.
This is the key there is a weird Firefox bug where it cannot handle multiples of the exact same certificate so for example if you are generating completely standard OpenSSL certificates by hitting "Enter" all the way through this will be an issue. There are also some embeded devices and appliances which do this.
What is the solution:
This is certainly a Firefox bug but it's also bad and poor practice to generate generic/default OpenSSL certificates. The solution was to remake the self-signed SSL certificate by entering proper information. Probably even entering a different CName or organization etc to make the cert unique would be all it would take.
Here is a discussion on the bug in Mozilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1056341