Azure / CloudShell

Container Image for Azure Cloud Shell (https://azure.microsoft.com/en-us/features/cloud-shell/)
https://shell.azure.com
MIT License
256 stars 105 forks source link

[BUG] Failed to request a terminal: {"code":"InternalServerError","message":"No referer header."} #392

Open waseurteg opened 7 months ago

waseurteg commented 7 months ago

To Reproduce

Just launching "Cloud shell"

Commands you ran
None

Observed Behavior

Include error output here

Expected behavior

When i launch "Cloud shell" : Requesting a Cloud Shell.Succeeded. Connecting terminal...

Failed to request a terminal: {"code":"InternalServerError","message":"No referer header."}

I have already log out/log in, delete and recreate my storage account...

Nothing is working.

image

Is this specific to Cloud Shell?

Please verify if the same issue can be reproduced by running the same tool outside Cloud Shell - for example, by installing it on your own computer. If so, it is likely to be a bug in that tool or in the Azure service it communicates with, not in Cloud Shell. Please file the issue with the appropriate project.

Interface information

How are you accessing Cloud Shell - https://shell.azure.com, https://portal.azure.com, via Windows Terminal, or some other method? If a browser, which Operating System and browser are you using? (ex. Edge on Windows 10)

Additional context

Add any other context about the problem here.

MBerka commented 6 months ago

Additional details that I observe when also getting this problem:

I open the terminal in the Virtual Machine's Connect section, by clicking the Select button in the box titled "SSH using Azure CLI". A sidebar opens and eventually shows green check marks next to all the prerequisites:

image

The terminal opens and takes several minute between printing "Connecting terminal..." and Failed to request a terminal: {"code":"InternalServerError","message":"No referer header."}. This behavior is the same in Chrome and in Firefox. The front-end is actually sending dozens of requests in this time, to an address like https://ccon-prod-westus-aci-02.servicebus.windows.net/<text>/terminals?cols=111&rows=13&version=2019-01-01&shell=bash, with each receiving the same response that eventually gets printed to the terminal. The requests indeed have no Referer header. If I use the browser console to manually add the URL of the current page as a header and resend, it is still missing. If I instead add a "Referrer" header, then the new header is shown.

Conclusion: something on the client side (either an extension or a browser setting) strips the Referer header and Azure cannot live without it.