Set up your NGINX license token
A token activates your GetPageSpeed NGINX packages on any server you own. Pick the path that matches your situation.
Start or restart a subscription
No active GetPageSpeed subscription? Pick a plan and you'll be able to generate a token right after checkout.
- Plus, Pro, Ultra — from $10/mo
- Stripe or PayPal checkout
- License token available immediately after signup
Generate & install a token
Already subscribed? Sign in with your subscription ID, copy your token, and drop it onto each NGINX host.
- One token works on every server your plan covers
- Renews automatically — survives renewals
- Setup takes < 2 minutes — steps below
How license enforcement works today
Server without a subscription. Every install starts a free 30-day trial. After it, NGINX appends a small notice to HTML pages for 30 days; after that, the server answers with a license page. A subscription covering the server removes either within minutes.
After a subscription ends. For 30 days after the paid period, NGINX keeps serving traffic but appends a small visible notice to HTML pages. After that, the server is escalated to hard enforcement (HTTP 503 on every request), in line with our terms. If a 503 response body brought you here, that window has passed. Restoring your subscription — or installing a fresh token from a new subscription — removes the notice or lifts the block within minutes.
Install the token in 3 steps
-
Generate the token from your client area
Sign in at getpagespeed.com/client-area/ with your subscription ID (from your welcome email or payment confirmation). Open the License Token tab and click Generate Token. Copy the long
eyJ...string — it's shown only once.Lost the token? Regenerate — it's free and invalidates the previous one. Update every server that was using the old token.
-
Drop the token onto the server
Save the token to
/etc/getpagespeed/license.jwt, readable by root only:sudo mkdir -p /etc/getpagespeed sudo tee /etc/getpagespeed/license.jwt > /dev/null <<'EOF' PASTE_YOUR_TOKEN_HERE EOF sudo chmod 600 /etc/getpagespeed/license.jwt
One file licenses every GetPageSpeed product on the host (NGINX, Angie, PHP). The legacy
/etc/nginx/license.jwtkeeps working forever — and NGINX builds from before November 2026 read only that legacy path, so on older builds save it there instead (or as well). NGINX builds older than v1.12.0 read the token as the nginx user — on those, usesudo chmod 640+sudo chown root:nginxinstead. -
Reload NGINX
sudo nginx -t && sudo systemctl reload nginx
Check the error log to confirm:
sudo grep gps_license /var/log/nginx/error.log
No output (or a
validated license tier=...notice) means the token is accepted.
Using a non-default path
By default the module looks for /etc/getpagespeed/license.jwt first, then the legacy /etc/nginx/license.jwt (supported forever). To use a different location, set it explicitly in the http block of nginx.conf:
http {
gps_license_token /path/to/your/license.jwt;
# ...
}
Or read from an environment variable:
http {
gps_license_token env:GPS_LICENSE_TOKEN;
# ...
}
Which builds include the license module?
All of them. Every current GetPageSpeed NGINX package has the license module compiled in, on every distribution and architecture we ship. Older frozen binaries don't have it — they continue working as before.
Frequently asked questions
My subscription was cancelled. Can I just reinstall the old token?
No. Revoked tokens are server-side blacklisted — reinstalling the same string won't bring access back. You need an active subscription first. Once that's in place, generate a fresh token from the client area.
I already have an IP-based subscription. Do I need to do anything?
Your subscription is confirmed by your server's IP and everything continues to work. The only change is a startup warning in your NGINX error log. The warning is currently cosmetic and does not affect traffic, but enforcement may become stricter in future releases. Installing a token now takes a minute and silences the warning.
Do I need to renew or regenerate my token when my subscription renews?
No. Tokens renew automatically while your subscription is active — connected servers never need a new file. If a subscription is cancelled, the token is revoked server-side — you don't need to remove the file from your server.
Can I use one token on multiple servers?
Yes. The token is tied to your subscription, not to a specific server IP. You can copy the same /etc/getpagespeed/license.jwt file to every server in your fleet. This is the main advantage of the token system over IP-based licensing — no need to register each server's IP individually.
What happens if my subscription is cancelled?
The token is revoked server-side. For 30 days after the paid period, NGINX keeps serving traffic and adds a small visible notice to HTML pages; after that, it answers every request with HTTP 503. To restore access, start a new subscription and generate a fresh token.
Does the module phone home?
The module sends periodic usage telemetry (worker count, request count, NGINX version, uptime) to getpagespeed.com. This data helps us understand how our packages are used. No request content, URLs, or user data is transmitted.
I regenerated my token. Do I need to update all servers?
Yes. The previous token keeps working for 7 days, so you can roll the new one out server by server; after that it stops. Update /etc/getpagespeed/license.jwt on each server and reload nginx. If a token leaked, use Revoke previous tokens now in the client area to cut it off immediately.
Why was the license module added?
IP-based licensing requires each server to have a registered IP, which doesn't scale for subscribers running many servers or dynamic infrastructure. The token system is more flexible: one token works everywhere, supports offline / air-gapped environments via Ultra-tier repo sync (mirror setup guide), and gives us better visibility into how packages are used so we can prioritize development.
Still stuck?
Email info@getpagespeed.com with your subscription ID and the exact error from your NGINX log, and we'll get you unstuck.