标签: loopback

Microsoft Edge不允许对websockets进行localhost环回

我有网站和桌面应用程序,我想通过websockets连接它们.所以我的网站尝试连接到wss:// localhost:8080,例如.

它适用于IE11,但在"MS Edge"中我有一个错误:

不允许跨区域请求

我在Win10 10240上遇到此问题,因此默认情况下启用"允许localhost环回"标志,但它没有帮助.

当我使用CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"或此实用程序时,所有工作都按预期工作.

那么,这是一个案例,在新版本的"MS Edge"环回允许http,但不允许websockets?如果是这样,是否有可能做出一些解决方法,而不是强迫我的用户运行一些shell命令或下载externall实用程序?

相关问题:无法在Windows 10预览中的Microsoft Edge(Project Spartan)中打开localhost

loopback websocket microsoft-edge

7
推荐指数
2
解决办法
2万
查看次数

环回查找然后更新属性或按 id 删除

一直试图为 Loopback 中的persistedModel 的一些静态方法查找示例用法。

https://apidocs.strongloop.com/loopback/#persistedmodel-prototype-updateattribute

它只是说:

persistedModel.updateAttributes(data, callback)
Run Code Online (Sandbox Code Playgroud)

但是你我如何选择我要更新的记录?这对我不起作用。

var order = Order.setId('whateverrecordId');
order.updateAttributes({name:'new name'},callback)
Run Code Online (Sandbox Code Playgroud)

爱回环..但他们的文档,很烂.. :(

loopback node.js loopbackjs

7
推荐指数
1
解决办法
9752
查看次数

为什么我可以在环回设备上安装一个映像,而不能在容器内的另一个设备上安装第二个映像?

我正在关注是否可以在 docker 容器内安装 ISO?在 Docker 中运行一个测试,然后在 CI 中使用。下面的脚本是测试的一部分。我不明白的是为什么第一个图像安装,而不是第二个。由于第一次挂载,这不是权限、功能等问题。afaik。

 $ dd if=/dev/zero of=testfs-1.img bs=1M count=32
32+0 records in
32+0 records out
33554432 bytes (34 MB, 32 MiB) copied, 0.0244791 s, 1.4 GB/s
$ dd if=/dev/zero of=testfs-2.img bs=1M count=32
32+0 records in
32+0 records out
33554432 bytes (34 MB, 32 MiB) copied, 0.0242179 s, 1.4 GB/s
$ mkfs -F testfs-1.img
mke2fs 1.44.1 (24-Mar-2018)
Discarding device blocks:  1024/32768           done                            
Creating filesystem with 32768 1k blocks and 8192 inodes
Filesystem UUID: 7e752a1c-1f0c-4efb-8cd9-67f5922adf7b …
Run Code Online (Sandbox Code Playgroud)

mount loopback docker

7
推荐指数
1
解决办法
769
查看次数

Win32 套接字 - 在发送到其他本地接口时强制 ip 数据包离开物理接口

总结:我正在尝试创建套接字以在同一台机器上存在的两个物理接口之间传递数据,而 Win32 套接字总是直接在内核中转发流量,而不是通过物理接口推送。有没有办法禁用这种行为,也许是通过设备设置、注册表调整、路由表恶作剧或套接字选项?我们使用的是 Windows XP SP3。

一些背景。我正在尝试构建一些完全自动化的 IP 测试来测试我们的自定义 IPv4 设备。我们有一个大型的 Windows XP 机器实验室,以及我们连接的每个设备的单独物理以太网接口。我们的设备实际上是以太网路由器,每个路由器都有自己的 IP。

我们需要通过我们的设备将数据从实验室机器发送出去,然后返回到同一台计算机中。我们将通过设备发送单播和多播 UDP、TCP 和广播 IP 流量。

我们希望(并且可能需要)流量起源于它注定要到达的同一台机器上。为此,我们配置了两个单独的 NIC,每个 NIC 在自己的子网上都有自己的 IP,例如 NIC #1 使用 10.0.0.1/24,NIC #2 使用 10.0.1.1/24。我们的设备就像简单的直通路由器一样,有两个接口,一个在 10.0.0.0/24 子网上,一个在 10.0.1.0/24 子网上,它们只是来回转发数据包。

为了生成我们的数据,我们希望能够使用 Win32 套接字,因为它很好理解,得到很好的支持,我们的客户正在使用什么,并且可能是最快速的方法。数据包注入对于 UDP 和广播 IP 可能是可行的,但对于 TCP 很可能不是。我会接受使用数据包注入的想法,但更喜欢标准的 Win32 套接字。

正如摘要中所述,数据包永远不会离开机器。我像个疯子一样在谷歌上搜索,但没有找到太多。有任何想法吗?

sockets ip winapi loopback ipv4

6
推荐指数
1
解决办法
2652
查看次数

如何在环回接口上捕获线鲨踪迹?

如何在配置为捕获跟踪的接口上捕获wireshark 跟踪?

loopback capture wireshark

6
推荐指数
1
解决办法
1万
查看次数

多播中的环回

这个问题是关于在同一主机内发送和接收多播,同时将其发送到其他主机。

即使经过数小时的谷歌搜索,我也无法弄清楚如何在同一主机内路由多播数据报..!

下面是问题的详细描述:

Linux 机器“A”通过电缆连接到交换机/路由器(我们称交换机/路由器为“R”)。

在 linux box A 中,我有一个进程(A0)将 UDP 数据包发送到多播地址“224.0.0.0”,端口 5000。

同样,在同一个框 A 中,我有两个进程(A1 和 A2),都连接到 224.0.0.0、端口 5000 并消耗 UDP 数据包。

现在,box A 中的内核如何管理路由?

因此,A0 发送了一个数据报,该数据报被 A1 和 A2 消费。这样的数据报是否进行往返 A --> R --> A ?

.. 或者“A”中的内核路由是否足够智能以避免这种不必要的往返?(即数据报由 A0 发送并立即被 A1 和 A2 消耗,永远不会离开 A)。

当然,可以通过为多播创建和强制执行环回设备来确保多播数据报永远不会离开 A:

sudo ifconfig lo multicast
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev lo
Run Code Online (Sandbox Code Playgroud)

但是现在,如果我想在另一个 linux 机器中同时使用 UDP 数据报,比如说“B”,它们就无法到达那里。

因此,理想情况下,(1)在 A 中消耗的数据报永远不应该离开 A(即没有往返 A --> R --> A),而(2)在 B 中消耗的数据报应该正常地作为 A --> …

sockets router multicast loopback

6
推荐指数
1
解决办法
1万
查看次数

Loopback $ owner不适用于findById

我想通过loopback获得有关我的用户的一些信息.为此,我创建了一个"user"与模型相关的"accessToken"模型,直到现在开启POST /user,POST开启/user/login和POST开启/user/logout.

我补充说 /common/models/user.json

{
  "name": "user",
  "base": "User",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {},
  "validations": [],
  "relations": {
    "accessTokens": {
      "type": "hasMany",
      "model": "accessToken",
      "foreignKey": "userId"
    }
  },
  "acls": [
    {
      "accessType": "EXECUTE",
      "principalType": "ROLE",
      "principalId": "$authenticated",
      "permission": "ALLOW",
      "property": "logout"
    },
    {
      "accessType": "EXECUTE",
      "principalType": "ROLE",
      "principalId": "$owner",
      "permission": "ALLOW",
      "property": "findById"
    }
  ],
  "methods": {}
}
Run Code Online (Sandbox Code Playgroud)

当我得到GET时,/user/{id}我得到了:

{
  "error": {
    "statusCode": 401,
    "name": …
Run Code Online (Sandbox Code Playgroud)

acl loopback relation node.js apiconnect

6
推荐指数
1
解决办法
213
查看次数

配置Kafka仅在127.0.0.1上公开JMX

我正在努力配置Kafka的JMX只能被曝光localhost.默认情况下,当我启动Kafka时,它会暴露三个端口,而其中两个端口会自动绑定0.0.0.0,这意味着每个人都可以访问它们.

我设法将代理本身绑定到127.0.0.1(因为我只在本地需要它),但JMX端口真的让我很头疼.

我必须遵循定义的env vars:

export JMX_PORT=${JMX_PORT:-9999}
export KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT -Dcom.sun.management.jmxremote.port=$JMX_PORT -Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=127.0.0.1 -Djava.net.preferIPv4Stack=true"
Run Code Online (Sandbox Code Playgroud)

如果我现在查看绑定端口/ ips,我看到:

$ netstat -tulpn | grep 9864
tcp        0      0 0.0.0.0:9999            0.0.0.0:*               LISTEN      9864/java
tcp        0      0 0.0.0.0:44895           0.0.0.0:*               LISTEN      9864/java
tcp        0      0 127.0.0.1:9092          0.0.0.0:*               LISTEN      9864/java
Run Code Online (Sandbox Code Playgroud)

这意味着JMX会监听0.0.0.0,甚至还有另一个44895我不了解其目的的开放端口.

我想要实现的是Kafka端口只能打开127.0.0.1.任何人都可以暗示一下吗?提前致谢!

编辑:

我通过添加获得了部分成功-Dcom.sun.management.jmxremote.host=localhost,但仍有一个开放端口暴露在0.0.0.0:

$ netstat -tulpn | grep 12789
tcp        0      0 127.0.0.1:9999          0.0.0.0:*               LISTEN      12789/java
tcp        0      0 0.0.0.0:43513 …
Run Code Online (Sandbox Code Playgroud)

jmx local loopback apache-kafka

6
推荐指数
1
解决办法
1196
查看次数

UnrecognizedClientException:调用 AWS.SecretsManager 时,请求中包含的安全令牌无效

我正在实施 AWS ClientManager 来获取 AWS 中保存的秘密变量。我的初步实现如下:

// Load the AWS SDK
var AWS = require('aws-sdk'),
    region = "us-west-2",
    secretName = "secretName",
    accessKeyId = myAccessKey,
    secretAccessKey = mySecretAccessKey,
    secret,
    decodedBinarySecret;

var client = new AWS.SecretsManager({
    region: region,
});

client.getSecretValue({SecretId: secretName}, function(err, data) {
    if (err) {
      console.log("Error Happened");
      console.log(err);
    }
    else {
        if ('SecretString' in data) {
            secret = data.SecretString;
        } else {
            let buff = new Buffer(data.SecretBinary, 'base64');
            decodedBinarySecret = buff.toString('ascii');
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

当我启动服务器时,它抛出以下异常

{ UnrecognizedClientException:请求中包含的安全令牌无效。message: '请求中包含的安全令牌无效。', code: 'UnrecognizedClientException', …

loopback node.js aws-sdk aws-secrets-manager

6
推荐指数
1
解决办法
7万
查看次数

loopback4 中的自定义验证响应对象?

我在环回中的模型上添加了验证规则。验证工作正常,但我得到的响应消息在某种程度上是自动生成的。我需要根据验证发送自定义响应对象。

我的模型验证是 5 的乘数,如下所示

 @property({
    name: 'name',
    description: "The product's common name.",
    type: 'number',
    required: true,
    // Specify the JSON validation rules here
    jsonSchema: {
      multipleOf: 5
    },
  })
  counter: number;
Run Code Online (Sandbox Code Playgroud)

我收到如下验证消息

{
  "error": {
    "statusCode": 422,
    "name": "UnprocessableEntityError",
    "message": "The request body is invalid. See error object `details` property for more info.",
    "code": "VALIDATION_FAILED",
    "details": [
      {
        "path": ".counter",
        "code": "multipleOf",
        "message": "should be multiple of 5",
        "info": {
          "multipleOf": 5
        }
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我需要根据我的要求修改响应对象,我可以更新这个响应对象吗?

loopback typescript loopbackjs loopback4

6
推荐指数
0
解决办法
206
查看次数