问题标签 [dmz]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
830 浏览

url-rewriting - 在 IIS 7.x 上启用没有应用程序请求路由 (ARR) 的反向代理

关于演示区 (PZ) 中服务器上的反向代理的问题很少。

  1. 我正在尝试在 IIS 7.x Windows 2012 Server(PZ) 上设置反向代理。我们真的需要 ARR 插件来配置反向代理吗?您能否建议在不使用 ARR 的情况下在 IIS 7.x 上启用反向代理?

  2. 即使没有 URL Re writer,是否有任何选项可以启用反向代理?

  3. 如何验证、捕获和维护重写规则?在部署角度的背景下提出这个问题。

0 投票
0 回答
464 浏览

.net-core - 使用外部和内部 URL 的身份服务器

我目前正在将 IdentityServer 4 用于一个应用程序与位于反向代理后面的内部服务器上的 Web API 通信的项目。我面临的问题与发现文档中返回的 URL 有关。

  1. 应用程序调用外部 URL,然后将其重定向到内部 URL。
  2. Web API 上的 IdentityServer 返回一个发现文档,其中包含使用外部 URL 的端点。
  3. Web API 尝试使用外部 URL 调用端点,但在内部服务器上找不到该主机。
  4. 如果我使用此处找到的指南更改端点以使用内部 URL ,应用程序稍后将使用这些端点和内部 URL。但是当然不能从外部访问内部服务器。

有没有办法告诉 IdentityServer 在应用程序中使用外部 URL 并在 Web API 中使用内部 URL?

0 投票
2 回答
117 浏览

ibm-cloud-private - 在 DMZ 中运行 ICP 集群的所有部分是否有任何建议

对于在 DMZ 中运行 IBM Cloud Private 集群的所有部分是否有任何建议?我在文档或堆栈溢出中没有找到任何内容。

0 投票
0 回答
58 浏览

database - 在防火墙规则的帮助下将数据从一个数据库传输到另一个由 dmz 保护的数据库

我们想将大量数据从一个 mysql 数据库(数据库 1)传输到远程数据库(数据库 2)。本地数据库(database1)在 dmz 的帮助下被隔离,由防火墙规则实现。防火墙规则,每 15 分钟打开和关闭连接端口。(端口打开 15 分钟,接下来的 15 分钟将关闭。)我需要将我的数据从 database1 传输到 database2 以便它们被接收到 database1并且没有任何数据丢失。(例如 msg1、msg2、msg3、...)

在此处输入图像描述

我尝试在两个数据库之间使用 activemq 代理。但是当连接中断 15 分钟时,我的一些数据会丢失。我无法从别人那里认出它们。

任何建议表示赞赏。

0 投票
1 回答
464 浏览

identityserver4 - 如何将 IdentityServer4 MVC 应用程序拆分为前端 UI/API 和后端 API 以在 DMZ 中进行安全托管?

出于安全原因,我的客户坚持认为 IdentityServer4 不应完全托管在 DMZ 中,尤其是考虑到它可以直接访问数据库服务器。

从 IdentityServer4 文档和其他一些帖子来看,似乎应该可以在 DMZ 中托管 MVC 登录页面并将 IdentityServer4 API 留在防火墙后面。如果我理解正确,我可以使用 LoginUrl、LogoutUrl、ConsentUrl、ErrorUrl、DeviceVerificationUrl 设置来实现这一点。

但是,我不确定 OpenID API。我的 SPA 应用程序不仅需要登录页面,还需要访问 OpenID 端点(connect/authorize、connect/userinfo、connect/checksession.well-known/openid-configuration)。

如何安全地在 DMZ 中公开那些 IdentityServer4 端点?

目前我不知道 IdentityServer4 是如何创建这些 OpenID 端点的。在我的应用程序启动代码中,我只调用AddIdentityServerand UseIdentityServer,它确实很神奇,将端点注册到我的 MVC 应用程序,然后在 IdentityServer4 深处的某个地方处理所有身份验证逻辑。

显然,如果我想分离 IdentityServer4 后端,我应该在我的后端 API Web 服务代码中调用AddIdentityServer和,对吗?UseIdentityServer我无法在 DMZ 的前端网站中使用这些方法调用,因为 IdentityServer4 将尝试连接到数据库以获取 OpenID 数据,但数据库位于防火墙后面,无法直接从 DMZ 访问。

我有以下用于 IdentityServer4 初始化的典型代码:

但是如果我把这段代码留在前端,IdentityServer4 将无法工作。有没有办法通过后端 API 配置其他类型的操作和配置存储数据库访问?

我当前的 IdentityServer4 基础架构如下所示:

但我需要这样:

0 投票
2 回答
326 浏览

networking - 端口转发如何在流量很大的大型视频游戏中工作?

请考虑以下情况,

假设有两个室友安装了相同的游戏。为了这个问题,我们假设游戏是 DoTA2。

两个室友都连接到同一个路由器,因此本质上具有相同的公共 IP。(路由器的IP)

现在,让我们假设外部的其他人(即路由器外部的公共互联网)想要连接到室友 1,那么路由器将在 NAT 规则内有一个简单的端口转发,可能如下所示,

如果请求来自外部端口 ABC(游戏拥有的端口),则将其转发给室友 1。

现在,如果我们假设室友2也在游戏中在线并且另一台公共计算机想要连接到他们,那么端口转发将如何工作?

路由器如何知道连接请求被转发到哪台私人计算机(室友)?

请不要给出诸如 DoTA 分配了多个端口或任何特定于游戏的答案之类的答案,DoTA 的使用只是一个示例。

您甚至可以考虑这样一种情况,即有两台私人计算机在端口号 80 上运行一个简单的 HTTP 服务器,外部计算机如何知道要连接哪一台?

我用谷歌搜索了 DMZ 和端口转发,但不清楚解决方案。

0 投票
0 回答
319 浏览

c# - 无法通过 Internet 创建 TCP/IP 连接

TCP/IP 和 PORT 转发的问题

  1. 我禁用了防火墙
  2. 将DMZ设置为我的本地 IP
  3. 运行了一个 C# 控制台应用程序,它侦听来自端口 8659(服务器)的传入连接:
  1. 尝试使用公共 IP 与另一个应用程序(客户端)连接到服务器:

客户抛出:

System.Net.Sockets.SocketException: '连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接主机没有响应 197.119.200.25:8659'

所以我的问题是为什么机器的公共 IP 无法访问我的服务器应用程序?

我不知道是我的 ISP 阻塞了端口,还是我有另一个我不知道的问题!

0 投票
1 回答
188 浏览

iptables - 带有 iptables 的三足防火墙。如何管理非军事区?

我正在尝试实现三足防火墙,但我的 DMZ 的 iptables 规则没有按预期工作。

三腿防火墙是具有 3 个 NIC 的防火墙。一个用于路由器,一个用于 DMZ,一个用于 LAN。

我的 DMZ 网络位于与 LAN 分开的另一个网络上。防火墙和 DMZ 之间存在路由规则。

DMZ 服务器网关是192.168.100.1

因此,作为一个 DMZ,我将允许从 Internet 到防火墙的所有连接到 DMZ,并且只禁止从 DMZ 到 LAN 的传出连接(以保证其安全),但允许传入的连接。但是我无法阻止所有传入/传出连接来测试 iptables 规则是否正确应用。

所以我尝试了(总是在防火墙中):

但我仍然可以 RDP 到服务器、导航等等。

好吧,也许是输入/输出:

但它是一样的。

结果,我无法阻止与我的 DMZ 服务器的所有连接,这证明我的规则根本不起作用。

我不是网络人,而是程序员,所以我完全确定我糟糕的网络技能在这里如此失败。对此感到抱歉。

感谢您的帮助!

0 投票
1 回答
1464 浏览

javascript - 即使我转发了端口,端口也关闭了

我想制作服务器(用于多人游戏),但我无法通过我的公共 IP 地址连接到我的电脑。我的服务器是用 Java 编写的,如下所示:

客户端是用这样的javascript编程的(我正在使用websockets):

您可以看到,我在服务器和客户端都使用相同的端口(60 000)。在我写IP地址(ws://127.0.0.1)的客户端中,我可以写localhost(127.0.0.1)或我的私人IP(192.168.0.100) - 它工作!但是当我在那里写我的公共 ip(类似于 91 ...... ***)时,它不起作用并且服务器不写消息“新客户端已连接:”(就像本地主机一样)......所以我认为问题在于端口转发。但我尝试移植,如图所示: 我的路由器上的端口转发

但它仍然不起作用。我还尝试在我的路由器中使用 DMZ。结果相同。我还尝试关闭我的防病毒软件的防火墙和网络防护。同样的结果......即使我尝试通过一些在线测试(https://www.yougetsignal.com/tools/open-ports/)检查我的端口 60 000 是否打开,它说我的端口已关闭.. .那么为什么它不起作用?我发现,即使我打开侦听端口 80 和 443 的 Apache,检查打开端口的工具也会显示此端口(80 和 443)已关闭(即使我在路由器上打开 DMZ)...为什么?注意:我确定,我使用正确的本地 IP 来设置端口转发和 DMZ,我使用 IP 给我 ipconfig(正如我已经写过的 - 当我使用这个本地地址(192.168.0.100 )我的电脑运行服务器...)请帮助我!:)

0 投票
1 回答
149 浏览

migration - 如何将 Bitbucket 迁移到 DMZ 服务器

我正面临将 Bitbucket(6.0.0 版)迁移到 DMZ 内的另一个 Bitbucket 实例(也是 6.0.0 版)的问题,所以我不能同时连接两者。

我在每个 Bitbucket 中启动、运行和配置了多个存储库,现在我想将一个项目(存储库)从一个 Bitbucket 实例迁移到另一个,但是,如上所述:我无法以任何方式从原始服务器连接到最终服务器.

是否有可能将 repo 导出到 USB,然后导入新的(并保留所有提交和可追溯性)?

谢谢和热烈的问候