V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
giter
V2EX  ›  程序员

Windows 通过 WSL2 部署了 docker 并运行了 onlyoffice 镜像,对回调地址的处理有点疑问

  •  
  •   giter · 2023-07-11 14:53:12 +08:00 · 1503 次点击
    这是一个创建于 529 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Windows 项目地址:localhost:8080

    onlyoffice 服务地址:localhost:8000(由 WSL2 中的 docker 运行)

    回调 URL:localhost:8080/xxx?saveEditedFile


    onlyoffice 的回调地址怎么能够让 Windows 请求并处理?现在的回调地址只会返回给 docker 容器中的 onlyoffice 处理,而我的 IDEA 无法捕获到这个请求,无法处理编辑后的文档。

    Help!

    第 1 条附言  ·  2023-07-12 11:32:17 +08:00
    将 WSL2 与 Windows 的网卡设置桥接后解决了,设置桥接的时候需要卸载 Vmware ,会冲突导致桥接失败
    11 条回复    2023-07-12 14:17:57 +08:00
    giter
        1
    giter  
    OP
       2023-07-11 14:53:45 +08:00
    格式调好了,发出来后就乱了
    urzz
        2
    urzz  
       2023-07-11 15:06:22 +08:00
    wsl2 可以配置桥接的,配了桥接 wsl2 就有自己的 ip 了,用起来会更方便一点
    296727
        3
    296727  
       2023-07-11 15:26:42 +08:00
    回调的 url 应该是局域网 ip 地址吧
    jsboy
        4
    jsboy  
       2023-07-11 16:17:20 +08:00
    docker 的网络有 host 和 bridge 2 种,一般都是 bridge ,这种情况下,docker 的是网络就是内部 172.x.x.x 的 ip 。可以通过宿主机访问外网,但是外面不能访问 docker 内部,通常需要指定端口绑定的方式提供服务。类似 VMware 的 NAT 网络。所以你指定回调地址为 localhost:8080/xxx?saveEditedFile ,访问的是容器内部的网络服务。如果需要访问外部就不能用 localhost 这样的地址访问。假如宿主 windows 的局域网 ip 是 192.168.0.100 ,你可以用 192.168.0.100:8080/xxx?saveEditedFile 这要的地址访问宿主机上的服务。
    theprimone
        5
    theprimone  
       2023-07-11 16:27:53 +08:00
    netstat 端口转发
    giter
        6
    giter  
    OP
       2023-07-11 20:00:58 +08:00 via Android
    @urzz
    @jsboy

    Windows 10 LTSC 通过 Hyper-V 配置 WSL 桥接一直报错,真无语了😑,折腾一下午都没把桥接弄成功

    难道真的只能升级 Windows 11 才能解决桥接问题了😑
    giter
        7
    giter  
    OP
       2023-07-11 20:24:34 +08:00 via Android
    明天再试试 WSL 1 ,如果还是不行,转 Vmware 了,不升级 Windows 11
    urzz
        8
    urzz  
       2023-07-12 10:08:22 +08:00
    @giter #6 应该是 wsl 版本大于 1.0 还是哪个版本之后才支持设置桥接,否则需要一些 script 做这些事儿。。你可以检查一下你的 wsl 版本
    xiaoxuxu
        9
    xiaoxuxu  
       2023-07-12 10:54:54 +08:00
    Windows host 上可以通过 localhost 访问到 WSL 2 的端口,但是反过来不通,WSL 2 里访问 windows host 上的服务,要用 windows 的 ip ,不能用 localhost 。
    giter
        10
    giter  
    OP
       2023-07-12 11:28:46 +08:00
    @urzz #8 WSL 2 与 Vmware 有冲突,卸载 Vmware 后就能桥接上了


    @xiaoxuxu 通过桥接后设置 192.168 的方式后可以了,😁
    urzz
        11
    urzz  
       2023-07-12 14:17:57 +08:00
    @giter #10 我这俩可以共存的,不过我是 win11 ,没有参考性
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2553 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 05:42 · PVG 13:42 · LAX 21:42 · JFK 00:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.