Resilience Auditor — fails when the platform declared in the project’s software stack answers with its license activation page, which means its license has expired or the instance was never registered and visitors no longer reach the site.
Whole-site outage
When a Liferay DXP license expires, every page redirects to the activation page. The site is down for every visitor until a new key is deployed.
Silent until it happens
Nothing warns visitors or most monitors: the server keeps answering HTTP 200. Checking the activation page catches it on the first run after the key expires.
How it works
- Select the platform — the first stack entry whose vendor is
Liferay(any case) and whose product is not Liferay Portal is audited (Liferay Portal, the community edition, has no license). No stack, or no supported platform in it, isINFORMATION(100): nothing is fetched and the run is not charged. - Fetch the probe URL —
/c/portal/license_activationon the origin of the monitored URL, without following redirects, with 37AuditsBot’s user agent, its Web Bot Auth signature and the URL’s Basic Auth credentials. HTTP 403, HTTP 429 or a Cloudflare challenge isERROR(590). A network error, a timeout or any status other than200or a redirect isERROR(500). - Read the answer
- A redirect (Liferay sends
302to/c/portal/layout) means the license is valid:SUCCESS(200). 200with the Liferay DXP Activation sheet (<h1 class="sheet-title">Liferay DXP Activation</h1>, rendered bylicense_activation.jsp) means the license is expired or the instance is not registered:FAIL(400). The alert on the page, such asThis instance is not registered., is quoted in the message.200with any other page isSUCCESS(200): the activation page is not served.
- A redirect (Liferay sends
What it audits
Every row maps to onecheckRule* method and one CheckCode. CheckCode suffixes use status ranges: 100 information, 200 success, 300–399 warning, 400–499 fail, 500–599 error.
Example messages:
400—"https://www.example.com/c/portal/license_activation" answered HTTP 200 with the Liferay DXP activation page ("This instance is not registered."): the Liferay DXP license is expired or the instance is not registered.200—"https://www.example.com/c/portal/license_activation" answered HTTP 302 → "https://www.example.com/c/portal/layout", so the Liferay DXP license is active.
data: platform, probeUrl, statusCode, location, pageTitle, activationPage and alert.
Output documentation
Risks and considerations
An expired license takes the whole site down
- Liferay DXP redirects every page to the activation page once its license expires. Visitors, search engines and integrations all get that page instead of your content, so the impact is a full outage, not a degraded feature.
Check before it happens
- Liferay license keys have a fixed end date. Run this auditor on a schedule so the first run after the key expires raises the alarm, and renew keys before their end date.
- The activation page answers HTTP 200, so uptime monitors that only check the status code report the site as up.
The software stack is declared, not detected
- Only projects whose stack lists Liferay DXP are audited. Add Liferay to the stack when the site runs on it.
- Only the first Liferay entry of the stack is audited.
What this auditor does not check
- It does not read the license’s end date, so it cannot warn ahead of the expiry.
- It does not check the cluster-node or developer-connection limits beyond what the activation page reports.