我有一个服务正在监听 port :3000
。但是,我想将其更改为 port :8080
。不幸的是,我正在运行的程序不允许我更改侦听端口。
有什么办法可以将localhost
端口转发:3000
到端口:8080
吗?那么,当我从外部连接时,:8080
它会将流量转发到:3000
?
我尝试了该socat
命令,但似乎不起作用。
编辑:我尝试了以下命令(发现这里)。它没有显示任何内容,但命令继续运行。当我尝试在 Firefox 中打开它时,它只是一直加载,最终出现连接超时错误。在 Chrome 中,它说连接已重置。如果这是我没有正确配置命令,我很抱歉,我不熟悉socat
网络。
socat tcp-listen:8080,reuseaddr,fork tcp:localhost:3000
编辑2:我nmap
在本地主机上运行(ssh
进入设备),扫描所有端口。由于某种原因,它没有显示端口:3000
打开。但是,当我使用其公共 IP 地址而不是本地主机时,端口:3000
就会显示出来。我通过 Linode 托管,如果有人知道为什么会发生这种情况。
编辑3:所以端口显然是正确转发的,因为当我使用命令curl
(使用公共IP)时,它给了我正确的HTML代码和状态HTTP 200 OK
。但是当我尝试在浏览器中打开它时,我得到connection timed out
(Firefox) 或connection was reset
(Chrome)。所以这似乎是一个浏览器问题。我知道我正在尝试通过HTTPS
端口 8080 进行连接,如果这与此有关。
提前致谢!