Hi everyone,

I am not a server guru but have had to setup a dedicated server for a new website. Everything is going except that when I try to connect to it via HTTPS connection I get a 500 internal error page which basically means I don't know what is causing the problem.

HTTP connection is fine and working but since the site will be processing payment information we need the HTTPS connection.

The server is running on CentOS with me using cPanel 11 to admin it. The only solution that I have possible come across involves the httpd.conf file for apache. The solution says to add this

<IfDefine SSL>
Listen 80
Listen 443
</IfDefine>

Although using cPanel I'm not sure where (preMain, preVirtual, postVirtual) to add this or if I shoudl even be adding it.

Can anyone shed any light on this?

Thanks guys,

Richard

Dani AI

Generated

A brief, practical checklist that follows the thread and fills the gaps left by earlier replies.

A 500 only on HTTPS usually means the SSL virtual host or the SSL handshake is failing (not simply “Apache missing Listen 443”). and pointed toward cert/key configuration, pushed the right idea to inspect logs, and correctly flagged that lack of root access can block this whole diagnosis. The next steps are about gathering the exact error lines and then fixing the common causes: bad certificate/key, wrong permissions/SELinux context, a different vhost/.htaccess under HTTPS, or a startup/include problem caused by manual edits.

Collect evidence (run as root or ask the host/WHM to run these):

tail -n 200 /usr/local/apache/logs/error_log
openssl s_client -connect yourdomain.tld:443 -servername yourdomain.tld -showcerts

Check certificate/key pair matches:

openssl x509 -noout -modulus -in /path/to/cert.pem | openssl md5
openssl rsa  -noout -modulus -in /path/to/private.key | openssl md5

Look for SSL-specific errors in the Apache error log and any mention of "private key", "certificate", "unable to read", or path/permission failures.

Common fixes and notes:

  • Do not edit cPanel-managed Apache files by hand; use WHM's Include Editor or the cPanel/WHM SSL tools so changes survive EasyApache regenerations. Manual Listen directives can create duplicate-listen/startup errors.
  • Ensure the private key file is owned by root and tightly permissioned (example: 400) and that Apache can read it at startup. On SELinux-enabled systems confirm policy with getenforce and restore context with restorecon.
  • If the HTTPS vhost uses a different DocumentRoot or .htaccess, a PHP/handler error there will show in the SSL error log — check that file set specifically for the SSL vhost.

If there is no root/WHM access, request the hosting provider run the log capture and the openssl test above; those outputs are the single most useful diagnostic items.

Recommended Answers

All 7 Replies

It won't work correctly unless you have some things in your apache config for that site:

SSLEnable
KeyFile /path/to/key.kdb
SSLServerCert

Hey khess,

Thanks for reply. I don't have a .kdb file anywhere that I see. When researching this I keep seeing it in relation to a IBM server. Since I'm running on centOS and am using cPanel do I need this?

Many thanks again,

Richard

Thought I'd include the server details that are appended to the bottom of the 500 internal error page

Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at domain.co.uk Port 443

Can you check your logs in /var/log? The httpd might be throwing errors in messages or syslog, and the error_log for apache might give you more information as well.

Hey sknake,

I've had a look at the error logs through cPanel and can't see anything about apache, it's all just missing files that I haven't fixed yet such as graphics references from CSS files.

I did notice however that these errors only show up when I load the site using http. nothing shows up in the cPanel error log when I try and load the site over https.

I can't find (via FTP or cPanel file manager) the location of my httpd.config file. All the locations on the web aren't there when I look at the server. Where would I find the apache error log?

Here's my server structure from the root

/access-logs
/etc
/etc/ftpquota
/mail
/public_ftp
/public_html
/tmp
/tmp/analog
/tmp/awstats
/tmp/cpbandwidth
/tmp/webalizer
/tmp/webalizerftp
/www


I have seen a few things about editing the httpd.conf file but I can't even find it to access it and I don't want to use the cPanel apache editing page as I don't know where to put the new stuff into on it.

Any ideas you have would be greatly appreciated!


Thanks,

Richard

Do you have root permission of your dedicated server?
Your dir info is looks like a chrooted.

Did u create a certificate file and key file?

Did u add them to ur httpd.conf, and mark the https port directive to this certificate??

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.