Обратный прокси-сервер Google Cloud VM для эластичного стека

У меня есть облачная виртуальная машина Google с ELK (elasticstack) от Bitnami. Панель управления Kibana доступна с помощью URL

Также у меня есть logstash с плагином http, на котором я хочу выполнить свой запрос из моего внешнего приложения, чтобы регистрировать вещи.

Моя конфигурация logstash:

input {
  http {
    response_headers => {
      "Access-Control-Allow-Origin" => "*"
      "Access-Control-Allow-Headers" => "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
      "Access-Control-Allow-Methods" => "*"
      "Access-Control-Allow-Credentials" => "*"
    }
    host => "10.10.10.10"
    port => 8080
  }
}
output {
    elasticsearch {}
}

Я хочу иметь возможность сделать запрос HTTP PUT на "10.10.10.10:8080" из моего приложения. Поэтому я пытаюсь использовать nginx для создания обратного прокси со следующим конфигом:

server {
        listen 85;
        server_name localhost;
        location / {
                proxy_pass http://localhost:5601;
                if ( $request_method = PUT ) {
                        proxy_pass http://10.10.10.10:8080;
                }
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection ‘upgrade’;
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }
}

Первая проблема, с которой я столкнулся, это когда я хочу запустить nginx:

sudo service nginx start

Служба не может запуститься из-за того, что apache уже работает на том же прослушивающем порту, даже если для прослушивающего порта nginx установлено значение 85.

netstat -ltnp | grep: 80 возвращает:

tcp6 0 0::: 80::: * СЛУШАТЬ -

Как я могу решить проблему с nginx start? Есть ли лучшие решения, чтобы сделать запрос на мой сервер logstash? (может быть в другом месте, например /log_server)

РЕДАКТИРОВАТЬ:

Я сделал nginx работает с Apache. Похоже, конфиг в /etc/nginx/site-enabled/ создавал второй сервер на 80 порту.

Я все еще заблокирован proxy_pass, я не думаю, что это правильный метод для того, что я хочу. Когда я пытаюсь выполнить запрос (curl -X PUT -d 'Test log!' http://google_cloud_vm_ip/), я получаю:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="http://google_cloud_vm_ip/bitnami/">here</a>.</p>
</body></html>

0 ответов

Другие вопросы по тегам