Jenkins 当我尝试使用内部ip进行卷曲时,它可以工作,但同样不行';不能在GCP上使用外部ip?

Jenkins 当我尝试使用内部ip进行卷曲时,它可以工作,但同样不行';不能在GCP上使用外部ip?,jenkins,networking,google-cloud-platform,Jenkins,Networking,Google Cloud Platform,我对GCP有点陌生,我尝试使用内部ip运行curl命令,这是可行的,但是当使用外部ip尝试时,它没有响应 curl -vvvv http://10.128.0.3:50000 * Rebuilt URL to: http://10.128.0.3:50000/ * Trying 10.128.0.3... * Connected to 10.128.0.3 (10.128.0.3) port 50000 (#0) > GET / HTTP/1.1 > Host: 10.1

我对GCP有点陌生,我尝试使用内部ip运行curl命令,这是可行的,但是当使用外部ip尝试时,它没有响应

    curl -vvvv http://10.128.0.3:50000
* Rebuilt URL to: http://10.128.0.3:50000/
*   Trying 10.128.0.3...
* Connected to 10.128.0.3 (10.128.0.3) port 50000 (#0)
> GET / HTTP/1.1
> Host: 10.128.0.3:50000
> User-Agent: curl/7.47.0
> Accept: */*
> 
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Content-Type: text/plain;charset=UTF-8
< 
Jenkins-Agent-Protocols: JNLP4-connect, Ping
Jenkins-Version: 2.121.3
Jenkins-Session: 4c0a93f0
Client: 10.128.0.3
Server: 10.128.0.3
Remoting-Minimum-Version: 2.60
* Closing connection 0

curl -vvvv http://35.232.33.183:50000
* Rebuilt URL to: http://35.232.33.183:50000/
*   Trying 35.232.33.183...
curl-vvhttp://10.128.0.3:50000
*重新生成的URL到:http://10.128.0.3:50000/
*正在尝试10.128.0.3。。。
*连接到10.128.0.3(10.128.0.3)端口50000(#0)
>GET/HTTP/1.1
>主持人:10.128.0.3:50000
>用户代理:curl/7.47.0
>接受:*/*
> 
*HTTP 1.0,假设在正文之后关闭
通过运行ff确认防火墙配置正确: 电话35.232.33.183 50000


您应该会得到一个提示(具体提示取决于远程服务器的操作系统。

通过运行ff确认防火墙配置正确: 电话35.232.33.183 50000


您应该会得到一个提示(具体提示取决于远程服务器的操作系统。

另一个选项是使用ngrok等工具将内部IP暴露给外部世界。使用以下步骤安装并运行ngrok。(此示例适用于GCP上的Ubuntnu 16.04,也适用于其他平台)

以下说明用于使用ngrok将本地主机应用程序公开给 这是在CGP,Ubuntu 16.04上测试的

第1步:下载ngrok

登录并将Linux(32位)zip文件下载到您的google 实例(您可以为您的平台选择正确的版本,否则在尝试执行时会出现分段错误)

第2步:解压缩可执行文件

mkdir ngrok

韩国

解压缩ngrok-stable-linux-386.zip

第3步:运行你的应用程序

运行正在本地主机端口5000上侦听的应用程序

Python3 main.py

输出如下所示:

name@instance-1:~$python3 main.py

  • 正在运行(按CTRL+C退出)

  • 使用stat重新启动

  • 调试器处于活动状态

  • 调试器PIN:279-195-470

您的应用程序现在正在本地计算机的端口5000上侦听

第4步:运行ngrok

要公开在端口5000上侦听的应用程序,请运行以下命令

/ngrok http 5000

输出如下所示:

ngrok by@unhreveable(按Ctrl+C键退出)

联机会话状态

会话将在7小时59分钟后过期

版本2.2.8美国地区(美国)

网络界面

转发->本地主机:5000

转发->本地主机:5000

连接ttl opn rt1 rt5 p50 p90 0.00 0.00 0.00 0.00

第5步:测试你的应用程序

运行以下命令:

卷曲

输出将如下所示:

Mynames MacBook Pro:~Myname$curl

我在跑步

您也可以从任何浏览器访问上述url

总之


ngrok是一个非常简单易用的工具

另一个选项是使用ngrok等工具将内部IP暴露给外部世界。使用以下步骤安装和运行ngrok。(此示例适用于GCP上的Ubuntnu 16.04,也适用于其他平台)

以下说明用于使用ngrok将本地主机应用程序公开给 这是在CGP,Ubuntu 16.04上测试的

第1步:下载ngrok

登录并将Linux(32位)zip文件下载到您的google 实例(您可以为您的平台选择正确的版本,否则在尝试执行时会出现分段错误)

第2步:解压缩可执行文件

mkdir ngrok

韩国

解压缩ngrok-stable-linux-386.zip

第3步:运行你的应用程序

运行正在本地主机端口5000上侦听的应用程序

Python3 main.py

输出如下所示:

name@instance-1:~$python3 main.py

  • 正在运行(按CTRL+C退出)

  • 使用stat重新启动

  • 调试器处于活动状态

  • 调试器PIN:279-195-470

您的应用程序现在正在本地计算机的端口5000上侦听

第4步:运行ngrok

要公开在端口5000上侦听的应用程序,请运行以下命令

/ngrok http 5000

输出如下所示:

ngrok by@unhreveable(按Ctrl+C键退出)

联机会话状态

会话将在7小时59分钟后过期

版本2.2.8美国地区(美国)

网络界面

转发->本地主机:5000

转发->本地主机:5000

连接ttl opn rt1 rt5 p50 p90 0.00 0.00 0.00 0.00

第5步:测试你的应用程序

运行以下命令:

卷曲

输出将如下所示:

Mynames MacBook Pro:~Myname$curl

我在跑步

您也可以从任何浏览器访问上述url

总之


ngrok是一个非常简单易用的工具

所有的防火墙规则都正确配置了吗?是的,它允许ssh、http、httpsStatus:active Logging:on(低)默认值:deny(传入)、allow(传出)、disabled(路由)新配置文件:从8080 ALLOW IN Anywhere 22/tcp(OpenSSH)跳到操作ALLOW IN Anywhere 50000 ALLOW IN Anywhere 8080(v6)ALLOW IN Anywhere(v6)22/tcp(OpenSSH(v6))ALLOW IN Anywhere(v6)50000(v6)ALLOW IN Anywhere(v6)您是否从同一个VM运行curl