如何通过Nginx反向代理在GCP上配置从外部IP到内部IP的访问?

时间:2019-05-11 21:56:20

标签: nginx google-cloud-platform gerrit

无法通过外部IP连接到应用程序。

我在GCP的vm实例(CentOS 7)上启动了Gerrit代码检查应用程序。 它可以在http://localhost:8080上使用,我无法通过外部IP连接到它。我也尝试创建NGINX反向代理,但是可能我的配置错误。顺便说一句,安装NGINX之后,启动页面显示在外部ip上。

# nginx configuration /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;

auth_basic "Welcomme to Gerrit Code Review Site!";

location / {
    proxy_pass   http://127.0.0.1:8080;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Host $host;
}
}

gerrit.config
[httpd]
    listenUrl = proxy-http://127.0.0.1:8080/

2 个答案:

答案 0 :(得分:0)

您将localhost用作server_name。我认为这可能会引起冲突,因为您从外部连接到服务器。您不需要server_name,因为您将通过ip连接到服务器。我建议您在nginx配置中启用日志。它将帮助您修复错误。

我建议您尝试以下配置:

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;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Host $host;
}
}

答案 1 :(得分:0)

  1. 在 /etc/hosts 添加一行 127.0.0.1 内部域

  2. 更新代理配置 proxy_pass http://internal.domain:8080;

它对我有用