Назад | Перейти на главную страницу

Как получить доступ с внешнего ip на внутренний с помощью NGINX на GCP?

Я не могу подключиться к приложению через внешний 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/

Наконец, я хочу видеть страницу регистра gerrit при использовании внешнего IP.

Эта конфигурация обратного прокси-сервера Nginx кажется правильной, но я бы настоятельно рекомендовал использовать HTTPS, если вы собираетесь раскрыть это внешнему миру.

Следует помнить о нескольких вещах:

  • Убедитесь, что gerrit запущен и прослушивает порт 8080. Это можно сделать с помощью netstat -atun | grep 8080.
  • Я бы также посмотрел этот документ чтобы убедиться, что вы правильно настроили gerrit.
  • Если вы не разрешили трафик HTTP при создании экземпляра виртуальной машины, вам нужно будет пометить экземпляр тегом брандмауэра по умолчанию «http-server».
  • Убедитесь, что firewalld не блокирует входящий входящий трафик.

Если ничего из этого не решит, я бы начал с просмотра журналов nginx и проверки вывода в вашем браузере.

Убедитесь, что приложение прослушивает 0.0.0.0, и убедитесь, что для этого порта включен брандмауэр.