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

  1. Resolve the domain name and make sure that it maps to the cluster and points to the same IP as in POA CP
  2. Make sure that the IP is present on a webserver:

    # ip a s lo | grep <IP>
    
  3. Check firewall on webserver for rules that would drop packets to ports 80/443
  4. 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 Balancer

  5. For POA 5.5: Check the status of redis service on all webservers

    # /etc/init.d/redis status
    
  6. 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
    
  7. Monitor HTTP(s) requests through redis-cli:

    # redis-cli -s /var/lib/redis/redis.sock monitor
    
  8. 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"

  9. 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
  10. Verify that the apache user is included into the redis 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
    

Internal content