GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Subscribe to RSS
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community. Already on GitHub?
Sign in to your account. Using 0. Tried to tweak proxy, hub and API ip and port settings with no luck so far. I'm having this same issue now on 0. I also changed all the IP parameters to Basically, even if something is "commented" after the equals sign in the. So for example, the following line in the inspect output that udaynaik posted is problematic:. Not only does that command need to be evaluated outside the. I was digging through a different issue that tipped me off. Skip to content.
Dismiss Join GitHub today GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together. Sign up. New issue.
Jump to bottom. Copy link Quote reply. I hope there is SSL termination happening somewhere else Can also be a hostname. Following is proxy ports c.In general, all URLs can be prefixed with c. The returned request should preserve all query parameters.
This might be useful if you have a Hub where you expect users to be managing multiple server configurations and automatic spawning is not desirable. Second, you can customise the landing page to any page you like, such as a custom service you have deployed e. If named servers are enabled, there will be some additional tools for management of named servers.
This is the JupyterHub login page. If login is handled by an external service, e. Be careful with this setting because logging out one browser does not mean the user is no longer actively using their server from another machine.
The username is the first part and, if using named servers, the server name is the second part. Handling this URL is the most complicated condition in JupyterHub, because there can be many states:. Following that link will launch the requested server. The HTTP status will be in this case because a request has been made for a server that is not running.
If the server is ready, it is assumed that the proxy has not yet registered the route. If something is really wrong, this can result in a redirect loop. Visiting this page will never result in triggering the spawn of servers without additional user action i. Prior to 1. These are failed with and an informative JSON error message indicating how to spawn the server.
This is meant to help applications such as JupyterLab that are connected to a server that has stopped. This is useful when users have the same file at the same URL on their servers, and you want a single link to give to any user that will open that file on their server.
DO NOT share links to your own server with other users. This will not work in general, unless you grant those users access to your server. See jupyterlab-hub where this should probably be done and this issue in JupyterLab that is intended to make it possible.
If username and optionally servername are specified, then the specified server for the specified user will be spawned. If Spawner.
This page renders the progress view for the given spawn request. If this page is requested at any time after the specified server is ready, the browser will be redirected to the running server. Requesting this page will never trigger any side effects. If the server is not running e. Edit this page. Version added: 1. If you want to skip the user-interaction to initiate logging in via the button, you can set c.GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community. Already on GitHub? Sign in to your account. I've been reading a lot of issues, groups, questions and answers, Any help would be really appreciated, cause I actually don't know what else to try It seems that the kernel is being created json data is returnedbut the error happens when promoting the websocket connection. I can't remember. I was able to make it work, although I'm not convinced with it.
Several issues:. I'm really interested on using it again, but now it is turned off and at this moment I have no need, neither time, to investigate it further. I found the solution after several days of digging - I was proxying all the traffic to an internal server and it switched the protocol from ws: to http:. After I added a rule before it to proxy the ws traffic separately, it started to work.
I'm running into this problem as well Safari will refuse to make ssl websocket connections with an untrusted certificate. You have to use another browser or manually trust the certificate in your keychain. Skip to content. Dismiss Join GitHub today GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign up. New issue. Jump to bottom. Milestone NA. Copy link Quote reply. SudoSpawner' c. LocalGitHubOAuthenticator' c. Any authenticated user will be allowed. There better be SSL termination happening somewhere else I've got some more login this is not always shown : [D How did you solve it? I'm facing a very very similar problem. Several issues: I was not able to register new users through jupyterhub interface, I have to do it from the server terminal. Any ideas? Sign up for free to join this conversation on GitHub.
Already have an account?GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together. Have a question about this project?
Sign up for a free GitHub account to open an issue and contact its maintainers and the community. Already on GitHub? Sign in to your account. What you expected to happen We expect the GitHub to validate the user and then make a call back to the jupyterhub application which should then create the local user and log the session in.
When we give the user the same password as GitHub jupyterhub the the user can login successfully! Running jupyter troubleshoot from the command line, if possible, and posting its output would also be helpful.
From the output of jupyterhub, it looks like your config file is not being loaded at all it's using PAM auth and there are no admin users, which is the default, not what's in your config file. Can you run with --debug as well? This appears to be simple be swallowed rather then a warning raised, can we get a warning raised when the requested config file is not found? It also it not apparent that we should install the github authenticator should it would be worth mentioning in the documentation.
Skip to content. Dismiss Join GitHub today GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together. Sign up. New issue. Jump to bottom. Copy link Quote reply. Any authenticated user will be allowed. I hope there is SSL termination happening somewhere else LocalGitHubOAuthenticator' c. It also it not apparent that we should install the github authenticator should it would be worth mentioning in the documentation Thanks for the help!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment. Linked pull requests. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window.JupyterHub 0. This enables deployments with different needs than the default proxy, configurable-http-proxy CHP. CHP is a single-process nodejs proxy that the Hub manages by default as a subprocess it can be run externally, as well, and typically is in production deployments.
So if the proxy process dies, your whole JupyterHub instance is inaccessible until the Hub notices, restarts the proxy, and restores the routing table. For deployments that want to avoid such a single point of failure, or leverage existing proxy infrastructure in their chosen deployment such as Kubernetes ingress objectsthe Proxy API provides a way to do that. Optionally, if the JupyterHub deployment is to use host-based routing, the Proxy must additionally support routing based on the Host of the request.
To start, any Proxy implementation should subclass the base Proxy class, as is done with custom Spawners and Authenticators. If your proxy should be launched when the Hub starts, you must define how to start and stop your proxy:. Probably most custom proxies will be externally managed, such as Kubernetes ingress-based implementations.
In this case, you do not need to define start and stop. At its most basic, a Proxy implementation defines a mechanism to add, remove, and retrieve routes. A proxy that implements these three methods is complete. Each of these methods may be a coroutine. A routespec will:. When adding a route, JupyterHub may pass a JSON-serializable dict as a data argument that should be attacked to the proxy route. When that route is retrieved, the data argument should be returned as well.
For retrieval, you only need to implement a single method that retrieves all routes. JupyterHub can track activity of users, for use in services such as culling idle servers.
As of JupyterHub 0. If the proxy does not track activity, then only activity to the Hub itself is tracked, and services such as cull-idle will not work. Now that notebook But this is not yet implemented in JupyterHub 0. Previous Next. In general, for a proxy to be usable by JupyterHub, it must: support websockets without prior knowledge of the URL where websockets may occur support trie-based routing i.
Navigation Documentation Home Previous topic Next topic.
This Page Show Source. Page source.The Directions API is a service that calculates directions between locations. You can search for directions for several modes of transportation, including transit, driving, walking, or cycling.
Try it! The response returns the driving directions. View the developer's guide for more information about building request URLs and available parameters and understanding the response. Client libraries make developing with the Google Maps web service APIs easier by providing simple, native implementations of common tasks, such as authentication, request throttling and automatic retry.
Review the usage and billing page for details on the quotas and pricing set for the Directions API. Don't make a substitute for Google Maps. If your app's primary purpose is navigation, a business directory, or a general purpose "maps app", it's a substitute for Google Maps. Learn more. See the Directions API developer guide for more examples and other details. The Directions API developer guide is intended for website and mobile developers who want to compute direction data within maps provided by one of the Google Maps APIs.
It provides an introduction to using the API and reference material on the available parameters. Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4. For details, see the Google Developers Site Policies. Routes Directions API. Places Places API. Web Services.JupyterHub from the Ground Up with Kubernetes - Camilla Montonen
Go to Console Contact sales. Guides Support. Policies and Terms.Web API 2 supports a new type of routing, called attribute routing. As the name implies, attribute routing uses attributes to define routes. For example, you can easily create URIs that describe hierarchies of resources.
The earlier style of routing, called convention-based routing, is still fully supported. In fact, you can combine both techniques in the same project. This topic shows how to enable attribute routing and describes the various options for attribute routing.
Visual Studio Community, Professional, or Enterprise edition. Alternatively, use NuGet Package Manager to install the necessary packages. Enter the following command in the Package Manager Console window:. The first release of Web API used convention-based routing. In that type of routing, you define one or more route templates, which are basically parameterized strings.
When the framework receives a request, it matches the URI against the route template. For more information about convention-based routing, see Routing in ASP. One advantage of convention-based routing is that templates are defined in a single place, and the routing rules are applied consistently across all controllers.
For example, resources often contain child resources: Customers have orders, movies have actors, books have authors, and so forth.
It's natural to create URIs that reflect these relations:. This type of URI is difficult to create using convention-based routing. Although it can be done, the results don't scale well if you have many controllers or resource types. With attribute routing, it's trivial to define a route for this URI.
You simply add an attribute to the controller action:. To enable attribute routing, call MapHttpAttributeRoutes during configuration. This extension method is defined in the System.
HttpConfigurationExtensions class. Attribute routing can be combined with convention-based routing. To define convention-based routes, call the MapHttpRoute method.
If attribute routing is enabled, this code will throw an exception.