计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
geoserver-and-security【效率与协作】Configure and troubleshoot GeoServer-backed OGC publication, OAuth2, permissions, groups, remote services, and the GeoNode proxy.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this skill when a GeoNode task crosses the GeoNode Django boundary into GeoServer, GeoFence, an OAuth2/OIDC provider, a remote OGC service, or the GeoNode proxy. Route general installation and container readiness to the setup-and-configuration skill; route resource payloads and upload validation to resource-and-api; route harvest scheduling to harvesting-and-admin.
Before changing anything, identify which plane is failing:
/security/ views.A successful Django login is not proof that GeoServer authentication, GeoServer authorization, or GeoFence synchronization is working. Conversely, a GeoServer administrator credential is not a GeoNode user credential.
Ask for or verify the target topology before making a live change:
The supplied CPU/Python environment does not verify any external service gate. Treat all live publication, OAuth2 handshake, TLS trust, GeoFence, Redis/Celery, PostgreSQL/PostGIS, reverse-proxy, browser, and remote OGC observations as unverified until tested in the target deployment.
Keep these values intentional and coherent:
GEOSERVER_LOCATION: GeoNode's server-to-server GeoServer base URL; it must
resolve from the GeoNode process and normally end in /.GEOSERVER_PUBLIC_LOCATION: the canonical externally reachable GeoServer
base URL used in capabilities, links, and browser-facing OGC URLs.GEOSERVER_WEB_UI_LOCATION: the browser/admin UI base URL; it may differ
from the public OGC URL behind a reverse proxy.OGC_SERVER["default"]: align BACKEND, LOCATION, PUBLIC_LOCATION,
WEB_UI_LOCATION, login/logout endpoint names, security toggles, write mode,
timeout/retry values, and GeoFence URL.Do not “fix” a bad base URL by making the proxy accept arbitrary hosts. Normalize scheme, host, path prefix, port, and trailing slash together, then test both a capabilities request and a browser redirect.
For publication or synchronization, establish the workspace and layer identifier first, then distinguish local GeoServer-managed datasets from remote-service resources. Inspect command help and select a narrow filter before using synchronization commands. Permission updates can write GeoFence rules and invalidate caches; style, layer, thumbnail, attribute, and metadata synchronization can call GeoServer and may enqueue work.
For remote services, register only a safe, reachable base URL, use the service's supported type and version, and use an auth configuration backed by a secret store when authentication is required. The generic proxy must remain protected by safe-URL validation and an allowlisted hostname registry. A remote link being stored in GeoNode is not proof that the endpoint is available or trustworthy.
A complete validation records:
Prefer a mocked helper or URL-construction test when no service is provisioned. Never report a mock, import, or static check as proof of live WMS/WFS/WCS/CSW, OAuth2, GeoFence, TLS, or proxy behavior.