使用SSH本地端口转发调试远程环境
本地开发环境配置
SSH -L是SSH命令中的一个选项,用于在SSH连接中设置本地端口转发。
1 |
|
[本地地址:]本地端口
:这是本地端口转发的设置。你可以选择性地指定本地地址(通常是”localhost”或”127.0.0.1”),然后指定一个本地端口。这个本地端口将会被SSH客户端监听,用于接收来自本地系统的连接。目标地址:目标端口
:这是你希望将本地连接转发到的远程目标地址和端口。当本地端口接收到连接时,SSH客户端将会将这些连接转发到目标地址和端口上。用户@远程主机
:SSH连接的目标远程主机和用户。
SSH -L选项允许你在本地系统和远程系统之间创建一个安全的通道,以便将本地端口上的流量转发到远程主机的指定端口。这对于访问受限制的资源或者建立安全的连接非常有用,例如在本地计算机上运行一个服务,但需要通过SSH连接到远程服务器来访问该服务。
例如,以下是一个使用SSH -L进行本地端口转发的示例:
1 |
|
这将会在本地主机上的端口8081上创建一个监听,当有连接时,它将把连接转发到远程服务器example.com的端口8080上。这样,你可以通过访问本地主机的端口8080来访问远程服务器上的8080端口Web服务。
线上预发环境配置
通过IDEA工具生成的配置参数做为JVM选项设置到线上的机器中。其中:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8080
是一个Java虚拟机(JVM)调试选项,用于启用Java远程调试协议(JDWP)的调试代理,并指定了监听的端口号为8080。这个选项的各个部分的含义如下:
-agentlib:jdwp
:这部分表示要启用JDWP调试代理库。transport=dt_socket
:这部分指定了JDWP调试代理的通信传输协议,这里使用的是Socket通信。server=y
:这部分表示JDWP代理将作为服务器运行,等待调试器连接。suspend=n
:这部分表示应用程序在启动时不会挂起,即不会等待调试器连接。address=*:8080
:这部分指定了JDWP代理监听的地址和端口。在这个示例中,*
表示监听所有可用的网络接口,而8080
是监听的端口号。这意味着JDWP代理将在所有网络接口上的8080端口上等待调试器连接。
这个选项用于启用Java应用程序的远程调试功能,允许你连接到正在运行的Java应用程序,以进行代码调试、观察变量和跟踪应用程序的执行。确保在使用这个选项时谨慎操作,只应该在开发和调试阶段使用。不要在生产环境中启用JDWP调试代理,以避免潜在的安全漏洞。
(本文完)