Symptoms
Website hosted on POA-managed Linux Shared Hosting NG webserver shows the default page instead of the proper content a customer uploaded. The page looks like on the screenshot:
Troubleshooting
- Resolve the domain name and make sure that it maps to the cluster and points to the same IP as in POA CP
Make sure that the IP is present on a webserver:
# ip a s lo | grep <IP>
- Check firewall on webserver for rules that would drop packets to ports 80/443
Log onto load balancer and use
ipvsadm -Ln
to check whether balancing is enabled. Also check that firewall is running and mangle table contains 100 bit mask marking for balancing tcp packets:# iptables -t mangle -nL PREROUTING MARK tcp -- 0.0.0.0/0 <public_ip_here> state NEW tcp dpt:80 MARK set 0x65 <-** ADDed MARK tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 MARK set 0x64 MARK tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:21 MARK set 0x64 MARK tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:2021 MARK set 0x64 MARK tcp -- 0.0.0.0/0 !10.184.18.17 state NEW tcp dpt:22 MARK set 0x64 MARK tcp -- 0.0.0.0/0 !10.184.18.17 MARK match !0x65 state NEW tcp dpt:80 MARK set 0x64 <-** corrected MARK tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:443 MARK set 0x64 MARK tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpts:60000:65535 MARK set 0x64
Also check that domain IP is present on LB:
# ip a s <ethX> | grep <IP>
where
<ethX>
us the main interface configured as public in POA configuration: NG Cluster > Load BalancerFor POA 5.5: Check the status of
redis
service on all webservers# /etc/init.d/redis status
Check the webspace's configuration through
redis-cli
:For ftp:
# redis-cli -s /var/lib/redis/redis.sock keys ftp-by-name-and-ip:<ftp-User> | redis-decode-obj --type=ftp_info_t
For webspace settings:
# redis-cli -s /var/lib/redis/redis.sock get "website-by-name:<SITENAME>" | redis-decode-obj --type=vh_info_t
Monitor HTTP(s) requests through
redis-cli
:# redis-cli -s /var/lib/redis/redis.sock monitor
Check whether database-related tasks for NG are running. If they are - they lock the domains during the run. Their names can be similar to "Enable database for cluster"
Check the number of .htaccess files:
# find WEBSPACE_ROOT -type f -name .htaccess | wc -l 1500
(Replace the WEBSPACE_ROOT in the command above with the path to the problem webspace, like /var/www/vhosts/1/100101/webspace).
If the number is very big, it can cause POA config dumps to malfunction. The problem is resolved in POA 5.5. In POA 5.4 and earlier versions ask the customer who owns the problem webspace to remove unnecessary .htaccess files in their webspace and then sync them with POA:
- Log into POA Customer Control Panel
- Go to the website hosted in NG Hosting webspace
- Click the 'Sync htacess' button
Verify that the
apache
user is included into theredis
users group on all NG web servers:# id apache
Add it if needed. After that restart httpd:
# usermod -a -G redis apache ; service httpd restart