Skip to content

JupyterHub: "Blocking Cross Origin API request" #44

@dlcrista

Description

@dlcrista

Hi, I was trying to set up istio with jupyterhub so I can use custom envoyfilters through wasm.
However, instead of using the jupyterhub-istio-proxy, I was hoping to keep the configurable-http-proxy (at least until I get this one to work, since I wasn't able to get your proxy to work).

I am using ambassador edge-stack as a reverse proxy. So the system looks like:

[SSL termination via AWS loadbalancer] -> ambassador mapping -> jupyterhub ecosystem from 0.11.1 helm chart...

I have an envoyfilter (using proxy-wasm rust sdk) on the proxy-public pod, and it sets the following request headers:

fn on_http_request_headers(&mut self, num_headers: usize) -> wasm::types::Action {
    let my_host: String = String::from("hub");
    self.set_http_request_header("host", Some(&my_host));
    ...
}

Setting this header in the envoyfilter solves the "No webpage was found for the web address issue" that you document in your medium article. However, now I am getting a new issue. The console shows:
image
And if I look at the hub pod log, I see:

[W 2021-10-13 22:34:23.091 JupyterHub base:57] Blocking Cross Origin API request.  Referer: https://jupyterhub.something.com/hub/spawn-pending/asdf, Host: hub/hub/

I think it has to do with istio not properly preserving the host header. How do you solve this issue?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions