How to: Fix Invalid License Error

There are a variety of reasons why InterWorx may report an error stating “invalid license”. All are related in some way to the license verification script that runs as part of the InterWorx quad-daily cron.

Note

This error does not mean that websites or email services are down on the server. Even if the license is currently noted as invalid or expired, the normal operation of the server will not be interrupted. The only limitation is that users are locked out of NodeWorx and SiteWorx. Visitors can still view all currently active websites on the server, and email services will still work, as expected.

There are several potential causes of the invalid license error:

  1. The server is unable to resolve license.interworx.com when the quad-daily cron ran (this is the most common reason)

  2. The server is unable to ping outside of itself

  3. 209.87.159.14 is not listed as whitelisted in the InterWorx firewall

  4. The IP for the server changed, or the license was moved to a new server, and the change was not also made in the billing portal

  5. The license has expired or has been suspended due to non-payment

  6. Port 2443 is blocked or InterWorx is not installed on a publicly available IP

  7. The time on the system clock is incorrect

Quad Daily Cron Was Unable to Resolve license.interworx.com

As part of the license verification process, when the quad-daily cron runs, InterWorx attempts to contact license.interworx.com. If this fails, a countdown will start within NodeWorx, stating that the license will expire.

Note

In most cases, this is due to a temporary network hiccup, and the error will resolve itself the next time the quad-daily cron runs.

  1. Log in to the server at the CLI as root, either via SSH or from the terminal

  2. Run the license sync command. This should resolve the issue

    ~iworx/cron/license.pex --sync
    
  3. If running the license sync command returns the following error, refer to The Server is Unable to Ping Outside of Itself

    [root@server ~]# ~iworx/cron/license.pex --sync
    XMLRPC error encountered
    Code: 8
    Error: CURL error: Couldn't resolve host 'license.interworx.info'
    
    [root@server ~]#
    

The Server is Unable to Ping Outside of Itself

  1. Log in to the server at the CLI as root, either via SSH or from the terminal

  2. Ping license.interworx.com. It may also be helpful to ping a different domain, as well, such as google.com

    [root@server ~]# ping license.interworx.com
    ping: unknown host license.interworx.com
    [root@server ~]# ping google.com
    ping: unknown host google.com
    [root@server ~]#
    
  3. Using a text editor, make sure that 127.0.0.1 is listed in /etc/resolv.conf. Depending on your network configuration, an outside nameserver may needed, as well. 8.8.8.8 or 4.4.4.4 are recommended

    [root@iworx ~]# cat /etc/resolv.conf
    nameserver 127.0.0.1
    nameserver 8.8.8.8
    [root@iworx ~]#
    
  4. Run the license sync command

    ~iworx/cron/license.pex --sync
    

207.32.181.150 is Not Whitelisted in the InterWorx Firewall

207.32.181.150 must be whitelisted in the firewall in Nodeworx under Server > Firewall to ensure that the license server can be pinged when the quad-daily cron runs. More information on managing the InterWorx firewall can be found here.

IP Address Associated with the License Changed

Each licensed copy of InterWorx may only be installed on one server at a time. In order to enforce this license, the InterWorx software attempts to contact the licensing server four times a day to verify the license. If the IP of the server and the IP on file with the licensing server for a particular license key do not match, the InterWorx software will suspend itself until such time as this is corrected.

Documentation on how to update the IP address associated with the license can be found here

License Suspended Due to NonPayment

For direct customers, billing and invoice information can be found at portal.interworx.com.

Customers who purchased licenses from an authorized InterWorx reseller should contact their reseller to make sure that payments are up to date.

Port 2443 is blocked or InterWorx is not installed on a publicly available IP

InterWorx must have at least one IP that is publicly available, with port 2443 OPEN to all connections. While InterWorx can be installed on an internal IP, the appropriate changes must be made to firewalls and routers so that port 2443 is accessible to the Internet on at least one IP.

The InterWorx software contacts the licensing server four times a day to verify the license. If it fails to make contact, there is approximately a 24-hour grace period, after which the license is suspended until contact can be made.

Time on the System Clock is Incorrect

  1. Log in to the server at the CLI as root, either via SSH or from the terminal

  2. From the CLI, run the date command to verify the system time

    [root@server ~]# date
    Fri Mar 19 11:15:46 EDT 2021
    [root@server ~]#
    
  3. Run the following commands to sync the system time against an Internet timebase server:

    service ntpd stop
    ntpdate ntp.interworx.com
    service ntpd start
    
  4. Run the license sync command

    ~iworx/cron/license.pex --sync