-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
404 preview URL of the Eclipse Che Port extension #22445
Comments
Could you have a look please |
I tested on a more standard install and encountered no issues. Could you verify that the server is up and running (e.g. run I suspect the issue is in the cluster configuration, specifically in the additional configuration
The Che Operator is creating a separate ingress -- i.e. it's not serving the For example, testing on OpenShift (which I have quickest access to), the workspace's URL is
while the endpoint for
(this is basically |
Ok, verified the server is up and running. curl localhost:8080 returning as expected. The ingress and service inspected with kubectl look ok too. I'm still getting a 404 though. I'll keep digging. |
Since it's an nginx error, I suspect there's something going wrong with the configuration of the ingress, though what that may be it's hard to say. |
From the ingress and service configuration, it's clear that the Ingress is set to forward traffic on the path / to workspace6dffd322a5e74667-service on port 8080. However, is it a problem here that the service workspace6dffd322a5e74667-service has no Endpoints for any of its ports? including 8080. I'm currently suspecting this for my 404. Typically, no endpoints mean that the service doesn't have any pods to forward the traffic to, or the pods are not ready, but I can confirm that the app is running as expected by curling the port directly. Thoughts? Does a working svc preview here have Endpoints defined? I thought to try and edit endpoints: but those ports seem to be defined here just fine:
|
Is your workspace running here? The service won't have endpoints unless it can match its labelselector to a Pod. It looks like your ingress isn't being picked up by nginx for some reason: status:
loadBalancer: {} as for why... I still suspect it's related to SSL configuration. I'm not familiar with the full setup required, but its maybe relevant that your certificate is in the |
I'm going to dig into this tonight, particularly focusing on the secrets of the devworkspace-controller namespace. One thing I noticed too is that if my authentication times-out, I get either a Fake or Self-Signed cert, but when my eclipse-che session is current, I get a fully secured TLS certificate for the workspace preview URL, which is picking up on my wildcard certificate. (both return 404), but I think the behavior is interesting. Looking at the workspace certificates, Is eclipse che intentionally trying to only provide self-signed certs on the dev workspace previews? Is there up-to-date documentation on using letsencrypt to setup certs either prior to or during deployment? I manually created a "che-tls" certificate with all the labels I described originally, mainly because I'm struggling to find up-to-date documentation on deploying tls certificates for che, particularly when I have a clusterissuer with cert-manager that should be able to issue what I need. |
This has been a very persistent issue. 404 nginx ingress from from the Preview URL on spring-boot-pet clinic demo. I've tried reinstalling a few times adjusting label, trying separate certificates, without any change on the preview url throwing the nginx 404. Dns is fine Is there a a working CheCluster resource, and Certificate examples that someone could share to follow that I might be missing here? |
If you can curl the service within the cluster, then the problem is the ingress itself not being picked up by nginx. Why that's happening, I'm not sure. There are two things you could try:
I'm not terribly experienced with configuring TLS on Kubernetes, so I'm not really sure what "good" settings are here, but maybe https://microk8s.io/docs/addon-cert-manager is a guide. @tolusha does the above seem correct? This seems to be a certificates issue in Che Operator |
To try and narrow down the problem, I've cleared out all my namespaces, secrets, and certificates related to eclipse che, and did a fresh deploy. I'm still getting 404 on the running app preview served up with a Kubernetes Ingress Fake Cert. All the troubleshooting I've done so far is yielding similar results. |
@Mbd06b |
Issues go stale after Mark the issue as fresh with If this issue is safe to close now please do so. Moderators: Add |
Describe the bug
When I launch a default workspace, the Eclipse Che Port extension detects the running process and provides a Preview Link, but on visiting the preview link I'm getting a generic nginx 404.
I'm looking for pointers debugging this particular issue. I'm not sure where to start..
Che version
7.72@latest
Steps to reproduce
Eclipse Che Port extension shows a Preview URL notification.
Expected behavior
The preview URL should show the landing page of the Spring Boot app launched.
Runtime
other (please specify in additional context)
Screenshots
After deploying, running the pet-clinic default workspace project, I get the preview URL popup.
Visiting the popup, I'm getting a 404 not found:
Preview Link:
![image](https://private-user-images.githubusercontent.com/12649222/262096649-bb4c7d4d-7c78-4a06-8581-4fbdb08bf446.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NzcxNzEsIm5iZiI6MTczODk3Njg3MSwicGF0aCI6Ii8xMjY0OTIyMi8yNjIwOTY2NDktYmI0YzdkNGQtN2M3OC00YTA2LTg1ODEtNGZiZGIwOGJmNDQ2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDAxMDc1MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdiZGQyOWQxN2NhN2QxOGE5MjIwYTJkZDE3NzczMjJlOTE5NGJhMWE1NGM4YTM1ODA0NjhmYjYzMzlhODc2YjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.9VpcSzr7gfmfsrIdmY_8QAJuBk9SSKlKBxpRZZEMyx0)
Installation method
chectl/next
Environment
other (please specify in additional context)
Eclipse Che Logs
Additional context
I use Microk8s (ubuntu 22)
I use GCP for Google Cloud Domains and CloudDNS, but only to facilitate FQDN traffic and DNS settings to my cluster
and deploy chectl with a domain;.
In order to get valid https certificates working to reach the dashboard. I manually created a certificate resource using cert manager, and applied the suspected labels, in order to have cert-manager provied a secure certificate instead of the Eclipse-che Local certs.
Since it was the last thing I seem to get working before I was able to get into Eclipse Che, my recency-bias is telling me that there might be some configuration I missed that could be impacting how this workspace/preview routing handoff might be happening.
The text was updated successfully, but these errors were encountered: