-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Allow icon fetching from internal services
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
Set the following environment variable:
HTTP_REQUEST_BLOCK_NON_GLOBAL_IPS=falseThen restart/redeploy Vaultwarden.
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:
- Open the Vaultwarden Admin Panel
- Go to
Advanced Settings - Locate
Block non global IPs - Set it to
false/ disabled - 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.
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.
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.
🏠 Wiki Home · 📖 FAQs · ⚙️ Configuration · 🔒 Hardening Guide · 🐳 Docker
❤️ Love Vaultwarden? Consider supporting upstream Bitwarden — without their work, this project wouldn't exist.
Vaultwarden is an unofficial, community-driven Bitwarden-compatible server. It is not associated with, endorsed by, or affiliated with Bitwarden, Inc. — "Bitwarden" is a trademark of Bitwarden, Inc.
Maintained with care by @dani-garcia and contributors · Wiki content licensed under the project's terms
- Which container image to use
- Starting a container
- Using Docker Compose
- Using Podman
- Updating the vaultwarden image
- Kubernetes deployment
- Overview
- Enabling admin page
- SMTP configuration
- Disable registration of new users
- Disable invitations
- Enabling WebSocket notifications
- Enabling Mobile Client push notification
- Enabling SSO support using OpenId Connect
- Allow icon fetching from internal services
- Other configuration
- Using the MariaDB (MySQL) Backend
- Using the PostgreSQL Backend
- Running without WAL enabled
- Migrating from MariaDB (MySQL) to SQLite
- Hardening Guide
- Password hint display
- Enabling U2F and FIDO2 WebAuthn authentication
- Enabling YubiKey OTP authentication
- Fail2Ban Setup
- Fail2Ban + ModSecurity + Traefik + Docker
- Translating the email templates
- Translating admin page
- Customize Vaultwarden CSS
- Using custom website icons
- Disabling or overriding the Vault interface hosting
- Building binary
- Building your own docker image
- Git hooks
- Differences from the upstream API implementation