Skip to main content

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
View plans →
Re-subscribers keep their previous email / payment history.

How license enforcement works today

Active subscription (default). While your subscription is active, NGINX serves traffic normally with or without a token; a missing token only produces a warning in the error log.

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

  1. 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.

  2. 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.jwt keeps 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, use sudo chmod 640 + sudo chown root:nginx instead.

  3. 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.