Besides all the things mentioned by @KFSys, SELinux may be an another possible cause of your issue, if it is installed and enabled, of course. To check if it is enabled, run:
Installed and enabled SELinux gives the output like:
OutputSELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31
I highlighted the results indicating that SELinux is enabled and enforces its policies.
So, if you get the status as above, you can turn on SELinux permissive mode for troubleshooting purposes:
sudo setenforce 0
If you can get your website in the browser now, that may indicate that your website directories/files are labeled incorrectly, due to SELinux scheme. So, you need to check it out, and fix it. You mentioned that your website root directory is /var/www/html/. List its content with SELinux labels:
sudo ls -laZ /var/www/html/
You will get something similar to:
Outputdrwxr-xr-x. qq qq system_u:object_r:httpd_sys_content_t:s0 .
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 ..
-rw-rw-r--. qq qq unconfined_u:object_r:httpd_sys_content_t:s0 index.html
I highlighted the correct label for website files and directories. If the label of your index file is different, you can add the correct one running:
sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"
Actually, that command adds label to /var/www/html/ directory and all its content. Then, you need to set up the added label as a default one.
sudo restorecon -R -v /var/www/html
Now you can turn on SELinux enforcing mode
sudo setenforce 1
Let me know if it works, pls.
More info on SELinux you can find here.