gpt4 book ai didi

amazon-web-services - Coturn 服务器 - 中继不工作

转载 作者:行者123 更新时间:2023-12-05 00:15:56 26 4
gpt4 key购买 nike

我正在尝试为基于 WebRTC 的应用程序设置 COTURN 服务器。但是,我遇到了一些我无法理解的错误消息,并且无法在互联网上找到任何帮助。

以下是有关该应用程序的一些详细信息:

  • 两个用户登录到应用程序,其中一个用户可以与另一个用户共享他们的屏幕 - 所以流只向一个方向前进
  • 我能够让应用程序在内部网和一些外部网络上工作。所以我相信只要 STUN 模式足够,应用程序就能正常工作。
  • 对于某些网络,STUN 候选者不断失败,所以我需要一个 TURN 服务器来中继流。

  • 我收集了一些 服务器日志 从服务器,以防有人可以根据它们识别问题:
    handle_udp_packet: New UDP endpoint: local addr <IP Address>:3478, remote addr <IP Address2>:59942

    handle_turn_command: STUN method 0x1 ignored

    handle_udp_packet: New UDP endpoint: local addr <IP Address>:3478, remote addr <IP Address2>:59944

    handle_turn_command: STUN method 0x1 ignored

    session 128000000000000096: realm <server URL> user <>: incoming packet message processed, error 401: Unauthorised

    session 128000000000000097: realm <server URL> user <>: incoming packet message processed, error 401: Unauthorised

    handle_turn_command: STUN method 0x1 ignored

    handle_turn_command: STUN method 0x1 ignored

    session 128000000000000096: realm <server URL> user <>: incoming packet message processed, error 401: Unauthorised

    session 128000000000000097: realm <server URL> user <>: incoming packet message processed, error 401: Unauthorised

    IPv4. Local relay addr: <IP Address>:64306

    session 128000000000000096: new, realm=<server URL>, username=<username>, lifetime=600

    session 128000000000000096: realm <server URL> user <username>: incoming packet ALLOCATE processed, success

    IPv4. Local relay addr: <IP Address>:65384

    session 128000000000000097: new, realm=<server URL>, username=<username>, lifetime=600

    session 128000000000000097: realm <server URL> user <username>: incoming packet ALLOCATE processed, success

    handle_turn_command: STUN method 0x1 ignored

    handle_turn_command: STUN method 0x1 ignored

    session 128000000000000096: realm <server URL> user <username>: incoming packet ALLOCATE processed, success

    session 128000000000000097: realm <server URL> user <username>: incoming packet ALLOCATE processed, success

    handle_turn_command: STUN method 0x1 ignored

    handle_turn_command: STUN method 0x1 ignored

    handle_turn_command: STUN method 0x1 ignored

    handle_turn_command: STUN method 0x1 ignored

    handle_turn_command: STUN method 0x1 ignored

    handle_turn_command: STUN method 0x1 ignored

    handle_turn_command: STUN method 0x1 ignored

    handle_turn_command: STUN method 0x1 ignored

    handle_turn_command: STUN method 0x1 ignored

    handle_turn_command: STUN method 0x1 ignored

    handle_turn_command: STUN method 0x1 ignored

    handle_turn_command: STUN method 0x1 ignored

    session 128000000000000096: refreshed, realm=<server URL>, username=<username>, lifetime=0

    session 128000000000000096: realm <server URL> user <username>: incoming packet REFRESH processed, success

    session 128000000000000097: refreshed, realm=<server URL>, username=<username>, lifetime=0

    session 128000000000000097: realm <server URL> user <username>: incoming packet REFRESH processed, success

    session 128000000000000096: closed (2nd stage), user <username> realm <server URL> origin <>, local <IP Address>:3478, remote <IP Address2>:59942, reason: allocation timeout

    session 128000000000000096: delete: realm=<server URL>, username=<username>

    session 128000000000000097: closed (2nd stage), user <username> realm <server URL> origin <>, local <IP Address>:3478, remote <IP Address2>:59944, reason: allocation timeout

    session 128000000000000097: delete: realm=<server URL>, username=<username>

    这是我的 turnserver.conf 文件看起来:
    listening-port=3478
    #tls-listening-port=443
    realm=subdomain.domain.com
    server-name=subdomain.domain.com
    lt-cred-mech
    userdb=/etc/turnserdb.conf

    cert=/home/ubuntu/certificate.crt
    pkey=/home/ubuntu/qc.key
    pkey-pwd=L1ght!t

    no-stdout-log
    Verbose

    我特别关注以下几点:
  • 我是否应该假设,由于我的代码与 STUN 服务器一起工作,它也可以与正在工作的 TURN 服务器一起工作?因此,错误意味着问题出在 TURN 服务器上?
  • 我可以看到几个错误,指出“分配超时”。这是否意味着指任何可能不足的 RAM/CPU/网络分配?
  • 一些请求的用户名部分是空的“<>”而不是“”,然后是“401 未经授权”,而我已经三重检查了 RTCPeerConnection 配置——它们确实包含用户名和密码。
  • 除了上面的日志,我还经常看到“438 Wrong nonce”出现。我对此进行了一些搜索,但这似乎不是我可以通过 JS 控制的。它与任何服务器配置有关吗?

  • 谢谢!感谢你的帮助。

    最佳答案

    你的配置看起来如何?

    我的 webRTC 使用示例:

    须藤纳米/etc/turnserver.conf
    ->

    listening-port=80
    tls-listening-port=1133
    fingerprint
    lt-cred-mech
    userdb=/etc/turnuserdb.conf
    realm=subdomain.domain.com
    server-name=subdomain.domain.com
    total-quota=100
    bps-capacity=0
    stale-nonce
    log-file=/var/log/turnserver/turn.log
    no-loopback-peers
    no-multicast-peers

    须藤纳米/etc/turnuserdb.conf
    ->用户名:密码

    如果启用,您还需要在防火墙中允许这些端口。
    在此处检查您的服务器: Trickle ICE

    请注意,您始终需要将 ip/url 与 123.456.789.10:80 之类的端口一起使用

    关于amazon-web-services - Coturn 服务器 - 中继不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43284758/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com