无法访问 GCP 中我的 Ubuntu VM 实例上的 Nexus 控制台
Not able to access Nexus console on my Ubuntu VM instance in GCP
我已经在我的 Ubuntu 虚拟机实例上安装了 Nexus(作为一项服务),并且在创建虚拟机实例时,我还检查了“允许 HTTP 流量”和“允许 HTTPS 流量”选项。
当我执行 $ tail -f /opt/sonatype-work/nexus3/log/nexus.log
时,我看到 Nexus 是 运行:
2021-07-30 06:20:10,046+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.handler.ContextHandler - Started o.e.j.w.WebAppContext@73ded096{Sonatype Nexus,/,file:///opt/nexus/public/,AVAILABLE}
2021-07-30 06:20:10,099+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@5bb22683{HTTP/1.1, (http/1.1)}{0.0.0.0:8081}
2021-07-30 06:20:10,100+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.Server - Started @48575ms
2021-07-30 06:20:10,101+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer -
-------------------------------------------------
Started Sonatype Nexus OSS 3.32.0-03
-------------------------------------------------
当我执行:$ sudo netstat -pnltu | grep -i "8081"
,我看到:
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 11722/java
还有一个 $ sudo systemctl status nexus
:
● nexus.service - nexus service
Loaded: loaded (/etc/systemd/system/nexus.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-07-30 06:19:21 UTC; 27min ago
Main PID: 11722 (java)
Tasks: 71 (limit: 4710)
Memory: 1011.8M
CGroup: /system.slice/nexus.service
└─11722 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -server -Dinstall4j.jvmDir=/usr/lib/jvm/java-8-openjdk-amd64/jre -Dexe4j.moduleName=/opt/nexus/>
Jul 30 06:19:21 ubuntu-nexus systemd[1]: Starting nexus service...
Jul 30 06:19:21 ubuntu-nexus nexus[11541]: Starting nexus
Jul 30 06:19:21 ubuntu-nexus systemd[1]: Started nexus service.
但是,当我尝试通过 vm 实例的外部 ip 和 nexus 的端口访问 Nexus 控制台时-> http://34.xxx.xx.xxx:8081/
我无法访问它(无法访问此站点)。
GCP 中是否有需要设置的防火墙?
“允许HTTP流量”和“允许HTTPS流量”只开放80和443端口,而Nexus监听8081端口,要么改变监听端口,要么开放8081端口
根据上面@Martheen 的回答,我创建了
- 防火墙规则 > opened port8081
- 将规则应用于我的 VM 实例(通过在网络部分提及规则标记)
工作得很好!
我已经在我的 Ubuntu 虚拟机实例上安装了 Nexus(作为一项服务),并且在创建虚拟机实例时,我还检查了“允许 HTTP 流量”和“允许 HTTPS 流量”选项。
当我执行 $ tail -f /opt/sonatype-work/nexus3/log/nexus.log
时,我看到 Nexus 是 运行:
2021-07-30 06:20:10,046+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.handler.ContextHandler - Started o.e.j.w.WebAppContext@73ded096{Sonatype Nexus,/,file:///opt/nexus/public/,AVAILABLE}
2021-07-30 06:20:10,099+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@5bb22683{HTTP/1.1, (http/1.1)}{0.0.0.0:8081}
2021-07-30 06:20:10,100+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.Server - Started @48575ms
2021-07-30 06:20:10,101+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer -
-------------------------------------------------
Started Sonatype Nexus OSS 3.32.0-03
-------------------------------------------------
当我执行:$ sudo netstat -pnltu | grep -i "8081"
,我看到:
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 11722/java
还有一个 $ sudo systemctl status nexus
:
● nexus.service - nexus service
Loaded: loaded (/etc/systemd/system/nexus.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-07-30 06:19:21 UTC; 27min ago
Main PID: 11722 (java)
Tasks: 71 (limit: 4710)
Memory: 1011.8M
CGroup: /system.slice/nexus.service
└─11722 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -server -Dinstall4j.jvmDir=/usr/lib/jvm/java-8-openjdk-amd64/jre -Dexe4j.moduleName=/opt/nexus/>
Jul 30 06:19:21 ubuntu-nexus systemd[1]: Starting nexus service...
Jul 30 06:19:21 ubuntu-nexus nexus[11541]: Starting nexus
Jul 30 06:19:21 ubuntu-nexus systemd[1]: Started nexus service.
但是,当我尝试通过 vm 实例的外部 ip 和 nexus 的端口访问 Nexus 控制台时-> http://34.xxx.xx.xxx:8081/
我无法访问它(无法访问此站点)。
GCP 中是否有需要设置的防火墙?
“允许HTTP流量”和“允许HTTPS流量”只开放80和443端口,而Nexus监听8081端口,要么改变监听端口,要么开放8081端口
根据上面@Martheen 的回答,我创建了
- 防火墙规则 > opened port8081
- 将规则应用于我的 VM 实例(通过在网络部分提及规则标记)
工作得很好!