哪个网站做3d模型,福州电子商务网站建设,关于网站开发书籍,网站关键词越多越好吗文章目录 1.端口映射的概念1.1 端口映射的类型1.2 端口映射的应用场景1.3 示例 2.为什么要进行端口映射呢#xff1f;3.原理3.1【大白话】原理解释3.2 原理图 4.代码 1.端口映射的概念
端口映射#xff08;Port Mapping#xff09;#xff0c;也称为端口转发#xff08;P… 文章目录 1.端口映射的概念1.1 端口映射的类型1.2 端口映射的应用场景1.3 示例 2.为什么要进行端口映射呢3.原理3.1【大白话】原理解释3.2 原理图 4.代码 1.端口映射的概念
端口映射Port Mapping也称为端口转发Port Forwarding是一种将一个网络端口的数据流重定向到另一个网络端口的技术。这通常用于在防火墙或路由器后面运行的服务使外部设备可以访问内部网络中的特定服务。端口映射可以在本地网络中进行也可以跨网络进行通过SSH等协议实现。
1.1 端口映射的类型 本地端口映射Local Port Forwarding 将本地计算机的某个端口映射到远程服务器的某个端口。示例将本地端口8080映射到远程服务器的80端口从而可以在本地通过localhost:8080访问远程服务器的Web服务。 远程端口映射Remote Port Forwarding 将远程服务器的某个端口映射到本地计算机的某个端口。示例将远程服务器的2222端口映射到本地计算机的22端口从而可以通过远程服务器访问本地计算机的SSH服务。 动态端口映射Dynamic Port Forwarding 创建一个SOCKS代理通过它可以动态地访问多个远程服务器的端口。示例创建一个SOCKS代理允许浏览器通过该代理访问多个远程服务器的网站。
1.2 端口映射的应用场景 远程访问内部服务通过端口映射可以从外部网络访问公司内部或家庭网络中的特定服务例如Web服务器、数据库服务器等。 穿透防火墙通过端口映射可以绕过防火墙的限制访问被防火墙阻止的服务。 提高安全性通过SSH隧道进行端口映射可以加密数据传输提高安全性。 负载均衡和代理负载均衡器和代理服务器常常使用端口映射技术来分发和转发流量提高服务的可靠性和性能。
1.3 示例
假设有一个运行在远程服务器上的Web服务它监听的端口是80。为了从本地计算机访问这个服务可以使用以下SSH命令创建一个本地端口映射
ssh -L 8080:localhost:80 userremote-server这条命令将本地计算机的8080端口映射到远程服务器的80端口。现在在本地浏览器中访问http://localhost:8080就相当于访问远程服务器的Web服务。
2.为什么要进行端口映射呢
在开发过程中进行端口映射或端口转发有几个主要原因 访问受保护的服务开发机上的某些服务可能仅监听在本地主机127.0.0.1上无法直接从外部访问。通过端口映射可以将这些服务暴露出来使其可以从外部访问。 安全性通过SSH隧道进行端口转发可以在不直接暴露服务的情况下安全地访问内部服务。SSH隧道会加密数据传输增加了安全性。 方便调试在开发过程中开发者可能需要访问运行在开发机上的多个服务。通过端口映射可以直接从本地访问这些服务而无需在每次访问时都登录到开发机上。 绕过防火墙或网络限制在某些网络环境中可能存在防火墙或网络限制阻止直接访问开发机上的服务。通过SSH隧道可以绕过这些限制实现对服务的访问。 多用户访问如果多个开发者需要访问同一个服务通过端口映射可以让每个开发者在自己的本地环境中访问该服务而无需直接登录到开发机。
举个例子
假设你在开发机上运行了一个Jupyter Notebook服务器它监听的端口是7860但只允许本地访问。通过以下SSH命令可以将开发机的7860端口映射到你本地的7860端口
ssh -p 37367 rootssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyCheckingno这样你可以在本地浏览器中访问 http://127.0.0.1:7860 来查看和使用开发机上的Jupyter Notebook服务器。
3.原理
3.1【大白话】原理解释
开发机有自己的暴露端口和公网IP可以用于我们在本地进行ssh连接
但是在开发机也就是服务器中运行程序时其程序是在服务器的某个端口上运行的
所以我们在本地想要看到该程序在服务器上的运行效果就要建立端口映射在浏览器打开本地端口时转发到服务器的端口进行查看
3.2 原理图 4.代码
ssh -p 37367 rootssh.intern-ai.org.cn -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyCheckingno例如
ssh -p 37367 rootssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyCheckingno这条命令用于创建一个SSH隧道。下面是每个部分的详细解释
ssh: 用于启动SSH连接的命令。-p 37367: 指定要连接的远程主机的端口号在这个例子中是37367端口。rootssh.intern-ai.org.cn: 用户名root和主机名ssh.intern-ai.org.cn。-CNg: 选项的组合 -C: 启用压缩。-N: 告诉SSH不执行远程命令只进行端口转发。-g: 允许远程主机连接到转发的端口。 -L 7860:127.0.0.1:7860: 进行本地端口转发将本地机器的7860端口映射到远程主机的127.0.0.1的7860端口。-o StrictHostKeyCheckingno: 禁用主机密钥检查这样可以防止首次连接时出现交互提示。
总结来说这条命令会在本地机器和远程主机之间创建一个SSH隧道将本地的7860端口转发到远程主机的7860端口并且不会执行远程命令或检查主机密钥。
如下图所示 在进行端口映射之后显示的是在服务器的7860端口上运行的程序