标签: gateway

C#中的短信息库

我需要开发一个应用程序,将SMS发送给有兴趣获取网站更新的用户.

我正在寻找C#中的库,它可以与我的应用程序集成.该库可以是GSM调制解调器依赖或免费服务,我可以使用它.

请任何人都可以建议可以与C#应用程序集成的库或SMS网关.

c# sms gateway

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

ip_conntrack_tcp_timeout_established未应用于整个子网

我有一个nat设置,连接了数千个设备.网关的网络由eth0提供,LAN侧的设备连接到网关上的eth1.

我有iptables的以下设置:

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

eth1配置如下:

    ip: 192.168.0.1
subnet: 255.255.0.0
Run Code Online (Sandbox Code Playgroud)

为客户端分配ips 192.168.0.2到192.168.255.254.

在/etc/sysctl.conf中我为ip_conntrack_tcp_timeout_established设置了以下设置

net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=1200
Run Code Online (Sandbox Code Playgroud)

由于连接到此网关的客户端设备数量,我无法使用默认的5天超时.

这似乎运行良好,并已测试超过10000客户端设备的设置.

但是,我看到的问题是tcp建立的超时1200仅适用于ip范围192.168.0.2到192.168.0.255的设备.在192.168.1.x到192.168.255.x范围内具有ips的所有设备仍在使用5天默认超时.

这会在/ proc/net/ip_conntrack表中留下太多"ESTABLISHED"连接并最终填满,即使它们应该在20分钟内超时,它们显示它们将在5天内超时.

显然我错过了某个地方的设置或者错误地配置了某些东西.

有什么建议?

谢谢

timeout iptables gateway nat subnet

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

通过mitmproxy运行docker容器

我正试图通过mitmproxy在另一个docker容器中运行来路由docker容器的所有流量.为了mitmproxy工作,我必须更改原始docker容器的网关IP.

这是我想要做的一个例子,但是我想把它限制在docker容器内部.

有关我如何能够做到这一点的任何想法?另外,我想避免在特权模式下运行两个docker容器中的任何一个.

security gateway docker mitmproxy

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

反向代理和网关有什么区别?

我知道正向代理和反向代理之间的区别,但不清楚反向代理与网关之间的区别。

security proxy gateway

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

Express Gateway-可以进行数据组合/聚合吗?

我读了很多书,但似乎找不到这个问题的答案:

是否可以例如从3个微服务中进行数据组合?=>在API网关上使用汇总数据公开端点?

还是一种方法呢?我以为这是API网关所需的基本行为?

gateway node.js express

7
推荐指数
0
解决办法
192
查看次数

Spring Cloud Gateway 找不到微服务(未找到 404 错误)

我有一个带有 Spring Boot 的简单微服务应用程序,我尝试添加 Spring Cloud Gateway 服务,但它不起作用。所有微服务,包括 Eureka 服务器,都运行良好,但是当我尝试使用网关路由访问某些微服务时,它找不到该微服务。

ApiGateway pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.futurex.microservices</groupId>
    <artifactId>APIGateway</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>APIGateway</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>2020.0.3</spring-cloud.version>
    </properties>
    <dependencies>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId> …
Run Code Online (Sandbox Code Playgroud)

java spring gateway spring-boot spring-cloud-gateway

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

在 API Gateway 的 lambda 集成中使用 stageVariables 会引发验证错误

我的 API 网关有两个阶段(开发和生产)。我希望每个分别指向 dev 和 prod lambda 别名。我尝试在 lambda 集成中使用 stageVariables,但这会引发验证错误,并且 API Gateway 无权调用 lambda。我也无法从 lambda 仪表板更改权限策略以包含 stageVariables。

首先,我向每个阶段添加了一个阶段变量 (LAMBDA_ALIAS),并具有适当的值。我尝试附加:${stageVariables.LAMBDA_ALIAS}到 lambda ARN。当我保存此内容时,更改仍然存在,但仪表板顶部出现验证错误:

1 validation error detected: Value 'arn:aws:lambda:us-east-2:xxx:function:auth:${stageVariables.LAMBDA_ALIAS}' at 'functionName' failed to satisfy constraint: Member must satisfy regular expression pattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?
Run Code Online (Sandbox Code Playgroud)

此外,我在点击 API 路由后注意到 CloudWatch 日志中出现集成错误:“在集成或 API 网关上配置的 IAM 角色没有调用集成的权限。请检查权限并重试。”

我已按照本指南创建了与完整调用 ARN 的新集成,但这也不起作用(它解析为 lambda ARN)。最后,我尝试通过 cli ( aws lambda add-permissions) 发出 JSON 语句,但返回了与上面所示相同的正则表达式错误。

这是我使用的 JSON 语句:

{
  "StatementId": "xxx",
  "Action": "lambda:InvokeFunction",
  "FunctionName": "arn:aws:lambda:us-east-2:xxx:function:auth:${stageVariables.LAMBDA_ALIAS}",
  "Principal": "apigateway.amazonaws.com", …
Run Code Online (Sandbox Code Playgroud)

api lambda gateway stage amazon-web-services

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

AWS.ApiGatewayManagementApi() postToConnection 不起作用

我正在尝试使用方法向通过套接字连接的客户端发送消息**AWS.ApiGatewayManagementApi() postToConnection**。在本地运行良好,但在 ec2 中运行不正常。唯一的区别是 VPC。那会有问题吗?

var AWS = require('aws-sdk');

var awsGW = new AWS.ApiGatewayManagementApi({
    endpoint: "https://endpoint",
    accessKeyId: "accessKeyId",
    secretAccessKey: "secretAccessKey",
    region: "region"
});

awsGW.postToConnection({
    ConnectionId: 'ConnectionId',
    Data: '{"key1":"msg1","key2":"msg2"}'
}, (err, success) => {
    if (err) {
        console.log('Socket error', err);
    } else {
    }
});
Run Code Online (Sandbox Code Playgroud)

错误:

{ ForbiddenException: Forbidden
    at Object.extractError (/home/ubuntu/git/backend/node_modules/aws-sdk/lib/protocol/json.js:51:27)
    at Request.extractError (/home/ubuntu/git/backend/node_modules/aws-sdk/lib/protocol/rest_json.js:55:8)
    at Request.callListeners (/home/ubuntu/git/backend/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    at Request.emit (/home/ubuntu/git/backend/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
    at Request.emit (/home/ubuntu/git/backend/node_modules/aws-sdk/lib/request.js:683:14)
    at Request.transition (/home/ubuntu/git/backend/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/home/ubuntu/git/backend/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /home/ubuntu/git/backend/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/home/ubuntu/git/backend/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/home/ubuntu/git/backend/node_modules/aws-sdk/lib/request.js:685:12)
  message: …
Run Code Online (Sandbox Code Playgroud)

gateway amazon-web-services websocket

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

docker-compose 版本 3 的默认网络网关值

我正在Nginx使用docker-compose版本创建一个容器3.7

我正在尝试指定ipam属性。但是当我阅读以下官方参考资料时:https : //docs.docker.com/compose/compose-file/#network-configuration-reference

有一个注释,我知道gateway只能在 version 下指定2

注意:其他 IPAM 配置(例如网关)目前仅适用于版本 2。

所以我尝试不指定gatewayunderipam属性。我的容器仍然可以创建和运行。

然后我去检查docker-network设置。经过我检查和观察,没有指定gateway。但我Nginx's access.log仍然显示来自172.19.100.1我认为它是gateway.

"IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.19.100.0/24"
                }
            ]
        }
Run Code Online (Sandbox Code Playgroud)

我想知道并澄清的是,在 version 下3.7,是否有任何方法可以指定gateway内部docker-compose文件,或者如果无法指定,默认值是什么?

另外,是否应该建议docker-compose在 version 下编写2而不是在3?

gateway docker docker-compose docker-network

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

websocket api aws 问题中的查询字符串参数

我正在尝试通过 wss://connection_url?queryparam=param 通过 WebSocket 连接传递查询字符串

但连接调用的 lambda 函数无法读取查询参数。事实上,我打印了收到的 lambda 函数的集成响应,并且其中没有显示任何查询参数。我是否需要在 API 网关中配置以允许查询字符串参数请帮助

api gateway amazon-web-services websocket aws-lambda

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