You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JupyterHub启动Notebook无进度且报403错误(停止服务器也报403)

Fix for JupyterHub 403 Scopes Error & Startup Progress Page Stalling

Based on your logs and setup details (JupyterHub 3.0.0 via Helm chart 2.0.0, Keycloak OAuth), the core issues are missing user scopes for server management and a HTTP/HTTPS mismatch causing cross-origin blocks. Here's how to resolve this step-by-step:

1. Fix HTTP/HTTPS URL Consistency

Your logs show a mismatch between the Host URL (HTTP) and Referer (HTTPS), which breaks session validation and triggers CORS warnings. Update your Helm values to enforce HTTPS everywhere:

hub:
  config:
    JupyterHub:
      public_host: styx-dev.themodelvault.com
      # If using an external SSL proxy (e.g., nginx), enable this:
      proxy:
        https: true
        host_override: styx-dev.themodelvault.com
      # If terminating SSL directly in JupyterHub (less common), add:
      # ssl_cert: /path/to/your/cert.pem
      # ssl_key: /path/to/your/key.pem

Also, double-check your Keycloak client's Valid Redirect URIs to ensure they use HTTPS (e.g., https://styx-dev.themodelvault.com/hub/oauth_callback).

2. Add Required Scopes to User Roles

JupyterHub 3.0+ tightened default user permissions, so your users don't have the necessary scopes to read server progress or delete their servers. Explicitly add these permissions to the default user role in your Helm values:

hub:
  config:
    JupyterHub:
      roles:
        user:
          scopes:
            - "read:servers"
            - "delete:servers"
            - "write:servers!user={username}"
            - "read:users:activity!user={username}"

This ensures each user has full permissions to manage their own server instance.

3. Configure CORS to Allow Valid Requests

To eliminate the cross-origin block warnings, explicitly whitelist your domain in the CORS settings:

hub:
  config:
    JupyterHub:
      cors_allow_origin: "https://styx-dev.themodelvault.com"

4. Redeploy the Helm Chart

Apply the changes with the Helm upgrade command:

helm upgrade jupyterhub jupyterhub/jupyterhub --version 2.0.0 --values your-custom-values.yaml

Verification Steps

After deployment:

  • Check the Hub logs to confirm no more 403 or CORS warning messages
  • Log in as a user and start a server: the progress page should update correctly and redirect once ready
  • Test stopping the server to ensure no delete:servers permission errors appear

内容的提问来源于stack exchange,提问作者stasdavydov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 17:30:44