Blocking Cross Origin API request

Hi there, I have a problem for the JupyterHub.I think it is the cross origin,but i have tried everything didn’t work.

Blocking Cross Origin API request. Referer: http://kcalpt.sysx.jsou.edu.cn/hub/spawn-pending/awuqiang?next=%2Fhub%2Fuser%2Fawuqiang%2Ftree%3F, Host: 172.16.253.15:8600/hub/

Conf:
runtime_dir = os.path.join(“/home/jupyter/datas/jupyterhub”)
c.JupyterHub.allow_named_servers = True
c.JupyterHub.ip = “0.0.0.0”
c.JupyterHub.port = 8600
c.JupyterHub.db_url = pjoin(runtime_dir, “jupyterhub.sqlite”)
c.Spawner.cmd = [‘/home/jupyter/pyenv/jupyterhub/bin/jupyterhub-singleuser’]
c.JupyterHub.authenticator_class = ‘jupyterhub.auth.PAMAuthenticator’
c.Authenticator.admin_users = [“jupyter”]
c.Spawner.notebook_dir = “~/notebooks”
c.Spawner.args = [‘–NotebookApp.allow_origin=*’]

Log:
[D 2023-02-10 17:32:05.263 JupyterHub proxy:314] Fetching routes to check
[D 2023-02-10 17:32:05.269 JupyterHub proxy:765] Proxy: Fetching GET http://127.0.0.1:8001/api/routes
[I 2023-02-10 17:32:05.288 JupyterHub proxy:319] Checking routes
[I 2023-02-10 17:32:05.288 JupyterHub proxy:399] Adding default route for Hub: / => http://127.0.0.1:8081
[D 2023-02-10 17:32:05.289 JupyterHub proxy:765] Proxy: Fetching POST http://127.0.0.1:8001/api/routes/
[I 2023-02-10 17:32:05.297 JupyterHub app:2422] JupyterHub is now running at http://0.0.0.0:8600/
[I 2023-02-10 17:32:10.375 JupyterHub log:174] 302 GET /user/awuqiang/tree? → /hub/user/awuqiang/tree? (@210.28.216.16) 3.34ms
[D 2023-02-10 17:32:10.407 JupyterHub base:289] Refreshing auth for awuqiang
[D 2023-02-10 17:32:10.409 JupyterHub user:240] Creating <class ‘jupyterhub.spawner.LocalProcessSpawner’> for awuqiang:
[E 2023-02-10 17:32:10.452 JupyterHub log:166] {
“X-Forwarded-Host”: “172.16.253.15:8600”,
“X-Forwarded-Proto”: “http”,
“X-Forwarded-Port”: “8600”,
“X-Forwarded-For”: “210.28.216.16”,
“Cookie”: “jupyterhub-hub-login=[secret]; _xsrf=[secret]; jupyterhub-session-id=[secret]”,
“Accept-Language”: “zh-CN,zh;q=0.9”,
“Accept-Encoding”: “gzip, deflate”,
“Accept”: “text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9”,
“User-Agent”: “Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36”,
“Upgrade-Insecure-Requests”: “1”,
“Cache-Control”: “no-cache”,
“Pragma”: “no-cache”,
“Connection”: “close”,
“Host”: “172.16.253.15:8600”
}
[E 2023-02-10 17:32:10.452 JupyterHub log:174] 503 GET /hub/user/awuqiang/tree? (awuqiang@210.28.216.16) 60.40ms
[D 2023-02-10 17:32:10.503 JupyterHub log:174] 200 GET /hub/static/css/style.min.css?v=883a1cf654bd9f5cdc5ca7c91efe7d71 (@210.28.216.16) 6.34ms
[D 2023-02-10 17:32:10.512 JupyterHub log:174] 200 GET /hub/static/components/bootstrap/dist/js/bootstrap.min.js?v=2f34b630ffe30ba2ff2b91e3f3c322a1 (@210.28.216.16) 1.78ms
[D 2023-02-10 17:32:10.514 JupyterHub log:174] 200 GET /hub/static/components/requirejs/require.js?v=f0cc8bbb2fcef87fc194fecbb632fcfa (@210.28.216.16) 7.92ms
[D 2023-02-10 17:32:10.515 JupyterHub log:174] 200 GET /hub/static/components/jquery/dist/jquery.min.js?v=220afd743d9e9643852e31a135a9f3ae (@210.28.216.16) 6.30ms
[D 2023-02-10 17:32:10.546 JupyterHub log:174] 200 GET /hub/logo (@210.28.216.16) 2.22ms
[D 2023-02-10 17:32:10.565 JupyterHub log:174] 200 GET /hub/static/components/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0 (@210.28.216.16) 2.81ms
[D 2023-02-10 17:32:12.978 JupyterHub pages:165] Triggering spawn with default options for awuqiang
[D 2023-02-10 17:32:12.979 JupyterHub base:781] Initiating spawn for awuqiang
[D 2023-02-10 17:32:12.979 JupyterHub base:788] 0/100 concurrent spawns
[D 2023-02-10 17:32:12.979 JupyterHub base:793] 0 active servers
[D 2023-02-10 17:32:13.099 JupyterHub user:542] Calling Spawner.start for awuqiang
[I 2023-02-10 17:32:13.108 JupyterHub spawner:1387] Spawning /home/jupyter/pyenv/jupyterhub/bin/jupyterhub-singleuser --port=53644 ‘–notebook-dir=~/notebooks’ ‘–NotebookApp.allow_origin=*’
[D 2023-02-10 17:32:13.138 JupyterHub spawner:1084] Polling subprocess every 30s
[I 2023-02-10 17:32:13.982 JupyterHub log:174] 302 GET /hub/spawn/awuqiang?next=%2Fhub%2Fuser%2Fawuqiang%2Ftree%3F → /hub/spawn-pending/awuqiang?next=%2Fhub%2Fuser%2Fawuqiang%2Ftree%3F (awuqiang@210.28.216.16) 1018.67ms
[I 2023-02-10 17:32:14.006 JupyterHub pages:303] awuqiang is pending spawn
[I 2023-02-10 17:32:14.012 JupyterHub log:174] 200 GET /hub/spawn-pending/awuqiang?next=%2Fhub%2Fuser%2Fawuqiang%2Ftree%3F (awuqiang@210.28.216.16) 20.25ms
[I 2023-02-10 17:32:14.013 JupyterHub log:174] 200 GET /hub/api (@127.0.0.1) 7.28ms
[D 2023-02-10 17:32:14.050 JupyterHub users:716] Not updating activity for <User(awuqiang 1/1 running)>: 2023-02-10T09:32:13.825865Z < 2023-02-10T09:32:14.001815Z
[D 2023-02-10 17:32:14.050 JupyterHub users:729] Activity on server awuqiang/: 2023-02-10T09:32:13.825865Z
[I 2023-02-10 17:32:14.055 JupyterHub log:174] 200 POST /hub/api/users/awuqiang/activity (awuqiang@127.0.0.1) 22.20ms
[W 2023-02-10 17:32:14.102 JupyterHub base:60] Blocking Cross Origin API request. Referer: http://kcalpt.sysx.jsou.edu.cn/hub/spawn-pending/awuqiang?next=%2Fhub%2Fuser%2Fawuqiang%2Ftree%3F, Host: 172.16.253.15:8600/hub/
[W 2023-02-10 17:32:14.105 JupyterHub log:174] 403 GET /hub/api/users/awuqiang/server/progress (@210.28.216.16) 12.37ms
[D 2023-02-10 17:32:14.271 JupyterHub utils:219] Server at http://127.0.0.1:53644/user/awuqiang/ responded with 302
[D 2023-02-10 17:32:14.272 JupyterHub _version:60] jupyterhub and jupyterhub-singleuser both on version 1.0.0
[I 2023-02-10 17:32:14.272 JupyterHub base:811] User awuqiang took 1.293 seconds to start
[I 2023-02-10 17:32:14.273 JupyterHub proxy:261] Adding user awuqiang to proxy /user/awuqiang/ => http://127.0.0.1:53644
[D 2023-02-10 17:32:14.273 JupyterHub proxy:765] Proxy: Fetching POST http://127.0.0.1:8001/api/routes/user/awuqiang
[I 2023-02-10 17:32:43.429 JupyterHub log:174] 302 GET / → /hub/ (@210.28.216.16) 2.48ms
[I 2023-02-10 17:32:43.442 JupyterHub log:174] 302 GET /hub/ → /hub/login (@210.28.216.16) 2.12ms

This usually means you’ve got one or more proxies/load-balancers in front of JupyterHub, and they’re not forwarding/setting the correct headers. Your browser uses http://kcalpt.sysx.jsou.edu.cn/ but your proxy or something else is telling JupyterHub the address is 172.16.253.15:8600. This mismatch can indicate a security compromise so is automatically rejected.

See Using a reverse proxy — JupyterHub 3.1.1 documentation for an example of configuring headers with Nginx.