我有我的家庭服务器,并使用Caddy 2从互联网访问本地服务,并为子域自动生成证书。Caddy在443
端口上侦听https
连接,并使用不安全的http
将它们侦听到不同的本地端口。我不知道它是否足够安全,但是我很重视路由器的安全性,我可以接受局域网内不安全的连接。而且用caddy为新服务添加新的子域也很容易,我喜欢它。
所以,最近我试图使Vue 3应用程序,我未能通过球童暴露到互联网.它确实与本地IP工作,但不是从互联网.在谷歌控制台我看到这:
WebSocketClient.js? 5586:16 Mixed Content:
The page at 'https://vue.domain.com/' was loaded over HTTPS, but attempted to connect to the
insecure WebSocket endpoint 'ws://192.168.1.1:8000/ws'.
This request has been blocked; this endpoint must be available over WSS.
我的球童配置是用yaml编写的json文件(为了可读性):
apps:
http:
http_port: 8080
https_port: 443
servers:
myserver:
listen:
- ":443"
routes:
- match:
- host:
- vue.domain.com
handle:
- handler: subroute
routes:
- handle:
- handler: reverse_proxy
upstreams:
- dial: 127.0.0.1:8000
terminal: true
我应该怎么做才能让它工作?是vue开发服务器\前端应用程序设置的问题还是球童的问题?我有这样的问题与其他服务也使用web套接字。
操作系统:Debian 11,球童v2.5.1,Vue 3.2.13配置了vue用户界面。
2条答案
按热度按时间gtlvzcf81#
如果您的应用中有index.html文件,请添加此 meta标签:
vlju58qv2#
是的,对其他人来说,问题就在这里
ws://192.168.1.1:8000/ws
。当你应该使用wss
的时候,你却在使用ws
。我想Lenich也弄明白了这一点。