Unable to access wallet ui through public ip
I have set up the SV and validator for a development environment on a local network using this guide: https://docs.sync.global/app_dev/testing/index.html.
I verified that the SV is working perfectly.When I access the wallet using
localhost:8080, everything works fine. However, when I try to access it usingpublic_ip:8080, I encounter an error when attempting to log in. The error message is:"Something went wrong. Latest error (4/30/2025, 4:14:41 PM):
TypeError: crypto.subtle is undefined"Logs in console:
ErrorBoundary caught an unhandled promise rejection TypeError: crypto.subtle is undefined (details: {} ) index-rI_5jN4s.js:216:96468
Uncaught (in promise) TypeError: crypto.subtle is undefined
cSe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:169
aSe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:169
aSe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:169
cSe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:169
c http://192.168.1.78:8080/assets/index-rI_5jN4s.js:246
EB http://192.168.1.78:8080/assets/index-rI_5jN4s.js:246
EB http://192.168.1.78:8080/assets/index-rI_5jN4s.js:246
c http://192.168.1.78:8080/assets/index-rI_5jN4s.js:246
onKeyDown http://192.168.1.78:8080/assets/index-rI_5jN4s.js:246
soe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
coe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
loe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
Iq http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
WV http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
lz http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
Px http://192.168.1.78:8080/assets/index-rI_5jN4s.js:55
vV http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
lz http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
ex http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
Poe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52I’ve attached a screenshot of the error.
Can anyone help me figure this out? I'm using the same machine. When I login using
localhost:8080, it works perfectly. But in a new tab, when I try to login usingpublic_ip:8080, I get the error shown in the screenshot below.(This is performed on the same machine using both localhost and the public IP.)
1. Error screenshot with public_ip2. Working screenshot with localhost
- toggle quoted message Show quoted textHi Rahil. For the non-localhost access, did you use "HTTPS" as the protocol in the URL?On Wed, Apr 30, 2025 at 7:26 AM Rahil Mansuri via lists.sync.global <rahil=pointsville.com@...> wrote:
I have set up the SV and validator for a development environment on a local network using this guide: https://docs.sync.global/app_dev/testing/index.html.
I verified that the SV is working perfectly.When I access the wallet using
localhost:8080, everything works fine. However, when I try to access it usingpublic_ip:8080, I encounter an error when attempting to log in. The error message is:"Something went wrong. Latest error (4/30/2025, 4:14:41 PM):
TypeError: crypto.subtle is undefined"Logs in console:
ErrorBoundary caught an unhandled promise rejection TypeError: crypto.subtle is undefined (details: {} ) index-rI_5jN4s.js:216:96468
Uncaught (in promise) TypeError: crypto.subtle is undefined
cSe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:169
aSe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:169
aSe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:169
cSe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:169
c http://192.168.1.78:8080/assets/index-rI_5jN4s.js:246
EB http://192.168.1.78:8080/assets/index-rI_5jN4s.js:246
EB http://192.168.1.78:8080/assets/index-rI_5jN4s.js:246
c http://192.168.1.78:8080/assets/index-rI_5jN4s.js:246
onKeyDown http://192.168.1.78:8080/assets/index-rI_5jN4s.js:246
soe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
coe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
loe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
Iq http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
WV http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
lz http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
Px http://192.168.1.78:8080/assets/index-rI_5jN4s.js:55
vV http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
lz http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
ex http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52
Poe http://192.168.1.78:8080/assets/index-rI_5jN4s.js:52I’ve attached a screenshot of the error.
Can anyone help me figure this out? I'm using the same machine. When I login using
localhost:8080, it works perfectly. But in a new tab, when I try to login usingpublic_ip:8080, I get the error shown in the screenshot below.(This is performed on the same machine using both localhost and the public IP.)
1. Error screenshot with public_ip2. Working screenshot with localhost
--My best regards,Curtis Hrischuk, Ph.D.
This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.digitalasset.com/emaildisclaimer.html. If you are not the intended recipient, please delete this message. - For the non-localhost, I am using HTTP in the url.
- Could you help me to figure out this issue?
Thank you in advance. - toggle quoted message Show quoted textHi Rahil. Please try your non-localhost request with "HTTPS" in the url. Based on the error message, that should resolve the issue.On Wed, Apr 30, 2025 at 10:28 AM Rahil Mansuri via lists.sync.global <rahil=pointsville.com@...> wrote:For the non-localhost, I am using HTTP in the url.--My best regards,Curtis Hrischuk, Ph.D.
This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.digitalasset.com/emaildisclaimer.html. If you are not the intended recipient, please delete this message. As per your suggestion, I expose the
public_ip:portthrough ngrok(for the https). Now, when I try to log in, I get the following error:index-D7i1xBiA.js:249 Mixed Content: The page at 'https://xxx-xxx-5-200-52.ngrok-free.app/' was loaded over HTTPS, but requested an insecure resource 'http://xxx-xxx-5-200-52.ngrok-free.app/api/validator/v0/wallet/user-status'. This request has been blocked; the content must be served over HTTPS.Could you please help me resolve this issue?
Thank you.
- Following up on this, does anyone have a solution to this issue? Any help would be greatly appreciated.
Thank you. - There seem to be not enough details to figure out what causes it. Please try to find out where "http" instead of "https" is coming form, browser's console and network sections of devtools should help with that. If it's coming from the backend then it's possible that the backend doesn't get "X-Forwarded-Proto" with value "https" in requests passing through the reverse proxy. But this is me just guessing at the moment.
- Can you try setting SPLICE_APP_UI_HTTP_URL=false in your Docker Compose file? Restart. Try the public URL. This may not fully unblock you, but it is worth a try.
- SPLICE_APP_UI_HTTP_URL is checked in docker-entrypoint.sh.
- And then used to edit the config.js.
- The config.js includes the http/https protocol for the validator api.
- Thank you for the solution — it’s working now. I appreciate your response!
- Can confirm this works, just ran into this treying to figure out why the wallet was not requested over HTTPS