Можем ли мы настроить grpc_pass и proxy_pass в одной nginx conf для одного и того же местоположения (/)?

#nginx #proxy #grpc #percona #pmm-server

#nginx #прокси #grpc #percona #pmm-сервер

Вопрос:

Я пытаюсь настроить Percona PMM вместе со своими прокси-серверами, чтобы мои клиентские серверы могли безопасно подключаться к серверу PMM. Прикрепляем текущую настройку здесь.

Также предоставляем nginx conf, который я использую сейчас.

 server {
listen 443 ssl http2;

server_name proxy_domain.com;

ssl_certificate /etc/nginx/certificates/certificate.crt;
ssl_certificate_key /etc/nginx/certificates/certificate.key;



location / {

grpc_pass grpcs://PMM_serverIP:443;


}

}
 

Я не могу получить доступ к grfana, который должен работать при вызове proxy_domain.com (но теперь он перенаправляется на PMM_serverIP:443) в соответствии с приведенным выше nginx conf.

Я использую порт 9116 для доступа к grafana с помощью дополнительного conf, который приведен ниже.

 server {
    listen 9116 ssl http2;

    server_name proxy_domain.com;

    ssl_certificate /etc/nginx/certificates/certificate.crt;
    ssl_certificate_key /etc/nginx/certificates/certificate.key;
    ssl_session_cache shared:SSL:10m;

    ssl on;
    ssl_session_cache builtin:1000 shared:SSL:10m;
    ssl_protocols TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;
    
    location / {
    proxy_pass https://PMM_serverIP:443/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forward-Proto http;
    proxy_set_header X-Nginx-Proxy true;
    proxy_redirect off;
    }

    }

 

Могу ли я использовать grpc_pass и proxy_pass для местоположения » / «? Я пытался, но не могу этого сделать. Кроме того, я попытался добавить отдельные конфигурации для grpc_pass и proxy_pass, но конфликты server_name. Я хочу безопасное соединение с использованием моих сертификатов. Я также попробовал grpc_certificate для защиты grpc. Но, тем не менее, это просто перенаправление на IP-адрес сервера PMM.