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:
The server is unable to resolve
license.interworx.comwhen the quad-daily cron ran (this is the most common reason)The server is unable to ping outside of itself
209.87.159.14 is not listed as whitelisted in the InterWorx firewall
~iworx/etc/gpg/pubring.kbx lock file is blocking connection to the license server
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
The license has expired or has been suspended due to non-payment
Port 2443 is blocked or InterWorx is not installed on a publicly available IP
The time on the system clock is incorrect
Contents
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.
Log in to the server at the CLI as root, either via SSH or from the terminal
Run the license sync command. This should resolve the issue
~iworx/cron/license.pex --sync
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¶
This most commonly results in the following error:
[root@server ~]# ~iworx/cron/license.pex --sync
XMLRPC error encountered
Code: 8
Error: CURL error: Couldn't resolve host 'license.interworx.info'
[root@server ~]#
Log in to the server at the CLI as root, either via SSH or from the terminal
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 ~]#
Using a text editor, make sure that
127.0.0.1is listed in/etc/resolv.conf. Depending on your network configuration, an outside nameserver may needed, as well.8.8.8.8or4.4.4.4are recommended[root@iworx ~]# cat /etc/resolv.conf nameserver 127.0.0.1 nameserver 8.8.8.8 [root@iworx ~]#
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.
~iworx/etc/gpg/pubring.kbx lock file is blocking connection to the license server¶
This most commonly results in the following error:
[root@server]# ~iworx/cron/license.pex --sync
XML error at line 1, check URL
XMLRPC error encountered
Code: 2
Error: Invalid return payload: enable debugging to examine incoming payload (XML error at line 1, check URL)
[root@server]#
Log in to the server at the CLI as root, either via SSH or from the terminal
Access the
~iworx/etc/gpgdirectorycd ~iworx/etc/gpg/
List the contents of the directory using the
ls -lacommand. It will look similar to the following:[root@server]# ls -la total 92 drwx------ 3 iworx iworx 4096 May 30 13:57 . drwx--x--x 15 iworx iworx 4096 May 30 11:32 .. -rw------- 1 iworx iworx 0 Aug 4 2023 .gpg-v21-migrated srwx------ 1 iworx iworx 0 May 26 16:53 S.gpg-agent srwx------ 1 iworx iworx 0 May 26 16:53 S.gpg-agent.browser srwx------ 1 iworx iworx 0 May 26 16:53 S.gpg-agent.extra srwx------ 1 iworx iworx 0 May 26 16:53 S.gpg-agent.ssh srwx------ 1 iworx iworx 0 May 26 16:53 S.scdaemon -rw------- 1 iworx iworx 24 Mar 11 21:11 gpg-agent.conf -rw------- 1 iworx iworx 2456 Mar 11 21:11 kfpfail.public.key drwx------ 2 iworx iworx 4096 Aug 4 2023 private-keys-v1.d -rw------- 1 iworx iworx 3433 May 28 19:35 pubring.gpg -rw------- 1 iworx iworx 3313 Jul 20 2022 pubring.gpg~ -rw------- 1 iworx iworx 32 May 28 19:35 pubring.kbx -rw------- 1 iworx iworx 600 May 28 19:35 random_seed -rw------- 1 iworx iworx 1065 Jul 20 2022 secring.gpg -rw------- 1 iworx iworx 49152 Aug 4 2023 tofu.db -rw------- 1 iworx iworx 1440 May 28 19:35 trustdb.gpg [root@server]#
If there is a file named
pubring.kbx, remove that fileNote
Files named
pubring.gpgare expected, and required. They and should not be removed.rm pubring.kbx
Run the license sync command
~iworx/cron/license.pex --sync
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¶
Log in to the server at the CLI as root, either via SSH or from the terminal
From the CLI, run the
datecommand to verify the system time[root@server ~]# date Fri Mar 19 11:15:46 EDT 2021 [root@server ~]#
Run the following commands to sync the system time against an Internet timebase server:
service ntpd stop ntpdate ntp.interworx.com service ntpd start
Run the license sync command
~iworx/cron/license.pex --sync