Skip to content

Allow icon fetching from internal services

Stefan Melmuk edited this page May 23, 2026 · 3 revisions

This configuration applies to self-hosted environments where Vaultwarden needs to fetch icons from services hosted on internal/private networks, for example:

  • A NAS or server hosting multiple self-hosted applications
  • Services accessed through a local network
  • Services exposed only through VPNs such as Tailscale
  • Reverse proxy setups using internal IPs or split DNS

By default, Vaultwarden blocks requests to non-global/private IP addresses as a security measure. Because of this, icons may fail to load for services that resolve to:

  • LAN IPs (192.168.x.x, 10.x.x.x, etc.)
  • Tailscale/CGNAT ranges (100.x.x.x)
  • Other internal-only addresses

Configuration

Set the following environment variable:

HTTP_REQUEST_BLOCK_NON_GLOBAL_IPS=false

Then restart/redeploy Vaultwarden.

TrueNAS SCALE Important Note

When running Vaultwarden as a TrueNAS SCALE App, setting the environment variable alone may not be enough.

TrueNAS can override some Vaultwarden settings internally through the application configuration interface.

You must also:

  1. Open the Vaultwarden Admin Panel
  2. Go to Advanced Settings
  3. Locate Block non global IPs
  4. Set it to false / disabled
  5. Save and restart the app

If this setting remains enabled, Vaultwarden will continue blocking icon downloads from internal IP ranges even if the environment variable is already present.

Security Considerations

Disabling HTTP_REQUEST_BLOCK_NON_GLOBAL_IPS reduces protection against SSRF (Server-Side Request Forgery) attacks.

With this setting disabled, Vaultwarden is allowed to make HTTP requests to internal/private IP ranges. This is required for environments where self-hosted services are intentionally exposed only through internal networking, VPNs, or private DNS.

Only disable this setting if:

  • You trust the users who can create/edit vault entries
  • Your Vaultwarden instance is private and properly secured
  • You understand that Vaultwarden will be able to access internal network resources

For most self-hosted homelab or internal infrastructure setups, this tradeoff is acceptable and required for proper icon fetching functionality.

Symptoms

Vaultwarden logs may contain warnings similar to:

IP 100.x.x.x for domain 'service.example.com' is not a global IP!

or:

IP 192.168.x.x for domain 'service.example.com' is not a global IP!

After disabling the restriction, icons for internal/self-hosted services should begin working normally.

FAQs

  1. FAQs
  2. Audits
  3. Supporting upstream development

Troubleshooting

  1. Logging
  2. Bitwarden Android troubleshooting
  3. Bitwarden clients troubleshooting

Container Image Usage

  1. Which container image to use
  2. Starting a container
  3. Using Docker Compose
  4. Using Podman
  5. Updating the vaultwarden image
  6. Kubernetes deployment

Reverse Proxy

  1. Proxy examples
  2. Using an alternate base dir (subdir/subpath)

HTTPS

  1. Enabling HTTPS
  2. Running a private vaultwarden instance with Let's Encrypt certs

Configuration

  1. Overview
  2. Enabling admin page
  3. SMTP configuration
  4. Disable registration of new users
  5. Disable invitations
  6. Enabling WebSocket notifications
  7. Enabling Mobile Client push notification
  8. Enabling SSO support using OpenId Connect
  9. Allow icon fetching from internal services
  10. Other configuration

Database

  1. Using the MariaDB (MySQL) Backend
  2. Using the PostgreSQL Backend
  3. Running without WAL enabled
  4. Migrating from MariaDB (MySQL) to SQLite

Security

  1. Hardening Guide
  2. Password hint display
  3. Enabling U2F and FIDO2 WebAuthn authentication
  4. Enabling YubiKey OTP authentication
  5. Fail2Ban Setup
  6. Fail2Ban + ModSecurity + Traefik + Docker

Performance

  1. Changing the API request size limit
  2. Changing the number of workers

Customization

  1. Translating the email templates
  2. Translating admin page
  3. Customize Vaultwarden CSS
  4. Using custom website icons
  5. Disabling or overriding the Vault interface hosting

Backup

  1. General (not docker)
  2. Backing up your vault

Development

  1. Building binary
  2. Building your own docker image
  3. Git hooks
  4. Differences from the upstream API implementation

Alternative deployments

  1. Pre-built binaries
  2. Creating a systemd service
  3. Third-party packages
  4. Deployment examples
  5. Disable the admin token

Other Information

  1. Importing data from Keepass or KeepassX
  2. Changing persistent data location
  3. Syncing users from LDAP
  4. Caddy 2.x with Cloudflare DNS
  5. Logrotate example

Clone this wiki locally