我无法通过外部 IP 连接到应用程序。
我开始格里特GCP 的 Compute Engine 实例(带有 CentOS 7)上的代码审查应用程序。
它在控制台上运行,curl http://localhost:8080
但我无法通过外部 IP 连接到它。
我也尝试过创建一个 NGINX 服务器。安装 NGINX 后,启动页面显示在外部 IP 上,但反向代理配置不显示 gerrit 注册页面。
server {
listen 80;
access_log /var/log/nginx/gerrit_access.log;
error_log /var/log/nginx/gerrit_error.log;
location / {
proxy_pass http://127.0.0.1:8080;
index index.html index.htm;
try_files $uri $uri/ =404;
}
}
gerrit.config
[httpd]
listenUrl = proxy-http://127.0.0.1:8080/
最后,我想在使用外部 IP 时查看 gerrit 注册页面。
答案1
Nginx 反向代理配置似乎正确,但如果要将其暴露给外界,我强烈建议使用 HTTPS。
您需要记住以下几点:
- 确保 gerrit 正在运行并监听端口 8080。您可以使用 来执行此操作
netstat -atun | grep 8080
。 - 我也会查看这个文件以确保你的 gerrit 配置正确。
- 如果您在创建 VM 实例时不允许 HTTP 流量,则需要使用默认的“http-server”防火墙标签来标记该实例。
- 确保firewalld 没有阻止传入的流量。
如果这些都不能解决问题,我将首先查看 nginx 日志并检查浏览器上的输出。
答案2
确保应用程序正在监听 0.0.0.0,并确保该端口的防火墙已启用。