AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1161255
Accepted
user31929
user31929
Asked: 2024-06-20 15:00:53 +0800 CST2024-06-20 15:00:53 +0800 CST 2024-06-20 15:00:53 +0800 CST

服务器上的 OpenVPN 隧道后端连接

  • 772

我需要配置一个 Linux 服务器(可能是 CentOS)来在线运行 Web 应用程序。

流程中的元素:

  • mywebapp,可通过以下网址访问https://mywebapp.example.org
  • thirdpartwebserv,可通过 URL 访问https://thirdpartwebserv.example.org,并且必须通过 VPN 建立隧道
  • 用户,典型的mywebapp用户,他的计算机上没有 VPN,但只能访问他的mywebapp帐户
  • 操作 A查询thirdpartwebserv并请求 VPN
  • 操作 B不需要 VPN 并且仅使用mywebapp功能

典型流程:

  1. 用户访问https://mywebapp.example.org
  2. 用户执行操作B
  3. mywebapp处理操作 B
  4. 操作B的结果显示给用户。
  5. 用户执行另一个操作,这次是操作 A
  6. mywebapp通过 VPN与thirdpartwebserv通信,处理操作 A并返回结果
  7. 操作A的结果显示给用户。

我感兴趣的是让任何人都在mywebapp上拥有一个帐户,同时仍然保证与thirdpartwebserv进行通信的隧道。

我可以在mywebapp服务器上使用 OpenVPN与受 VPN 保护的thirdpartwebserv服务器通信并获得类似的基础设施吗?

VPN 的使用由thirdpartwebserv决定。

web-server
  • 1 1 个回答
  • 61 Views

1 个回答

  • Voted
  1. Best Answer
    Nikita Kipriyanov
    2024-06-21T17:12:33+08:002024-06-21T17:12:33+08:00

    是的,可以。这是基本的 VPN 功能,OpenVPN、WireGuard 或我怀疑任何 VPN 都可实现此功能。

    需要考虑的事项:

    1. 对于 OpenVPN,最好使用其tun模式 L3 隧道,因为它更高效(开销更少)
    2. VPN 将意味着隧道 IP 地址,即分配给隧道两端的 IP 地址,到接口tunX。通常使用私有 RFC 1918 地址。为了保证通信通过 VPN 隧道进行,您的应用程序mywebapp必须使用隧道 IP 地址或通过隧道路由的地址。它可能不是您用于建立 VPN 的同一公共地址。
    3. thirdpartwebserv可能是一个处理Host标头的标准 Web 服务器,也就是说,如果您使用点分四路 IP 地址与其通信,它可能无法正确响应。假设您知道在运行后端服务的thirdpartwebservthirdpartwebserv.example.org的虚拟主机上配置的名称(例如,如问题中所示),您可能需要使用本地hosts文件将该名称与隧道 IP 地址关联。您还可以将该隧道(私有)IP 地址以该名称发布到公共 DNS 中(我知道有些人会不同意我的观点,但我认为这没什么问题)。
    4. 您可能希望将公共 DNS 名称thirdpartwebserv.example.org用于 VPN。如果内部 Web 服务器要为其虚拟主机使用相同的名称,则可能会发生冲突,VPN 客户端会尝试通过连接本身重新建立连接,这将导致一切失败。为了避免此类名称解析冲突,对于 VPN,请使用文字公共 IP 或thirdpartvpn.example.org指向 VPN 对等方公共 IP 的其他主机名(如)。(如果您发布了私有地址,则这是不可能的。)
    • 1

相关问题

  • 提供 70,000 个静态文件 (jpg) 的最佳方式?

  • 持续监控许多服务器运行状况的简单方法?

  • 构建家庭服务器时要考虑的要点[关闭]

  • 用于 Web 应用服务器的 FreeBSD 磁盘分区(Apache/MySQL/PHP)

  • 我需要在 Rackspace 专用/托管网络和数据库 (Linux) 服务器上安装防病毒软件吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve