-
Notifications
You must be signed in to change notification settings - Fork 269
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
Expose v2 crashes with "URI is not valid and cannot be converted into a string" #263
Comments
I'm encountering this same issue, using Mac OS Safari
There's no other details being displayed for me (not even the stack trace), so I'm not sure how to debug this further. I looked for a |
I've also been looking into this issue and noticed that iOS Safari will load a tunnelled page the first time, but crash with this error on a reload/refresh. If I clear cache it will work once again, until I refresh again. |
I haven't figured it out exactly, but this seems (for me anyway) to have something to do with cookies being sent alongside requests. When I disable or delete all cookies, the crashing stops. If I once again visit a site that sets a cookie and then visit a site hosted on expose, the crashing starts again. That could be similar to what @chadworthman noticed above, since the first time you visit a site the cookies would get set, and the second time they'd be sent with the request. |
Also, I was able to get a stack trace by adding
|
Does this happen to you for any URL that you share with Safari? |
sirbrillig and I are working on the same project and are both trying to share the same URLs. I am able to crash expose by loading the page with mobile Safari on an iPhone. It crashes while loading the first page, so it's difficult to say if it's for all URLs on a given tunnel. I added a random string to the root URL, the server managed to give me a "Page not found" message before expose crashed.
|
I'm pretty sure if I tried sharing |
I've continued testing and backed out the nginx SSL proxy to use HTTP only. That worked with Chrome on Windows and Safari on iOS. I then put the nginx SSL proxy back in and re-tested. Chrome on Windows still worked, but Safari on iOS crashed it again. I've compiled my own expose.phar with a few simple edits to the server section of config/expose.php, but the error message is now a little more descriptive:
nginx config is per the recommendations at expose.dev:
|
FWIW, I traced this issue down to the laminas dependency not handling empty URIs. I updated vendor/laminas/laminas-uri/src/Uri.php to include a check and conversion: `public function toString()
Recompiled the PHAR and tested successfully with Safari. I haven't used the package since July 2021, so I can't say if the bug still exists. |
I have which is probably a related error and is clearly a problem with that dependency. I can see the following output within the container activity.
After that the tunnel breakdown. |
Hi!, I stumbled upon this thread. I'm also having the same issue with Expose 2.5.0 on mobile Safari on my Laravel app. |
Closing this issue because it's old. Please feel free to open a new one if it's still relevant. |
I still have this problem |
Hi, thank you for this amazing tool! After upgrading to v2, I am experiencing the following problem after browsing my local site shared with expose:
Version: Expose 2.0.2
This is the stack trace:
Unfortunately I don't know what kind of URL is requested by the browser, it happens only when I'm browsing with mobile Safari...
The text was updated successfully, but these errors were encountered: