Pmm server inside docker with host nginx proxy pass and client connection

server1 (with pmm server):

services:
  pmm-server:
    image: percona/pmm-server:latest
    container_name: pmm-server
    ports:
      - '127.0.0.1:81:80'
      - '8443:443'
    restart: always
    environment:
      - SERVER_USER=<user>
      - SERVER_PASSWORD=<passwd>
      - METRICS_RETENTION=150h
      - METRICS_MEMORY=4194304
      - METRICS_RESOLUTION=1s
      - QUERIES_RETENTION=30
      - PMM_PUBLIC_ADDRESS=<domain>
    volumes:
      - ./storage:/srv

nginx:


upstream managed-grpc {
  server 127.0.0.1:8443;
  keepalive 32;
}

server {
    server_name <DOMAIN>;

    location / {
        proxy_pass http://127.0.0.1:81;
        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;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    
    location /agent. {
        grpc_pass grpcs://managed-grpc;
    client_max_body_size 0;
   }

   location /inventory. {
        grpc_pass grpcs://managed-grpc;
   }

   location /management. {
        grpc_pass grpcs://managed-grpc;
   }

   location /server. {
        grpc_pass grpcs://managed-grpc;
   }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/<DOMAIN>/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/<DOMAIN>/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
    if ($host = <DOMAIN>) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    server_name <DOMAIN>;
    return 404; # managed by Certbot


}

server2 (pmm-agent)
docker:


version: '3'

services:
  pmm-agent:
    container_name: pmm-agent
    image: percona/pmm-client:2
    volumes:
      - pmm-client-data:/srv
        #      - .config/pmm-agent.yaml:/config/pmm-agent.yaml
    environment:
      - PMM_AGENT_SERVER_ADDRESS=<DOMAIN>
      - PMM_AGENT_SERVER_INSECURE_TLS=true
      - PMM_AGENT_SERVER_USERNAME=<PMM-USER>
      - PMM_AGENT_SERVER_PASSWORD=<PMM-PWD>
      - PMM_AGENT_SETUP=1
      - PMM_AGENT_CONFIG_FILE=config/pmm-agent.yaml

volumes:
  pmm-client-data:

Error:


 ✔ Container pmm-agent  Recreated                                                                                                                                                                                              0.2s 
Attaching to pmm-agent
pmm-agent  | time="2024-06-12T11:49:23.349+00:00" level=info msg="Run setup: true Sidecar mode: false" component=entrypoint
pmm-agent  | time="2024-06-12T11:49:23.350+00:00" level=info msg="Starting 'pmm-agent setup'..." component=entrypoint
pmm-agent  | time="2024-06-12T11:49:23.372+00:00" level=info msg="Loading configuration file /usr/local/percona/pmm2/config/pmm-agent.yaml." component=setup
pmm-agent  | time="2024-06-12T11:49:23.373+00:00" level=info msg="Temporary directory is not configured and will be set to /usr/local/percona/pmm2/tmp" component=setup
pmm-agent  | time="2024-06-12T11:49:23.373+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/node_exporter" component=setup
pmm-agent  | time="2024-06-12T11:49:23.373+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/mysqld_exporter" component=setup
pmm-agent  | time="2024-06-12T11:49:23.373+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/mongodb_exporter" component=setup
pmm-agent  | time="2024-06-12T11:49:23.373+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/postgres_exporter" component=setup
pmm-agent  | time="2024-06-12T11:49:23.373+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/proxysql_exporter" component=setup
pmm-agent  | time="2024-06-12T11:49:23.373+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/rds_exporter" component=setup
pmm-agent  | time="2024-06-12T11:49:23.373+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/azure_exporter" component=setup
pmm-agent  | time="2024-06-12T11:49:23.373+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/vmagent" component=setup
pmm-agent  | Checking local pmm-agent status...
pmm-agent  | pmm-agent is not running.
pmm-agent  | Registering pmm-agent on PMM Server...
pmm-agent  | Registered.
pmm-agent  | Configuration file /usr/local/percona/pmm2/config/pmm-agent.yaml updated.
pmm-agent  | Please start pmm-agent: `pmm-agent --config-file=/usr/local/percona/pmm2/config/pmm-agent.yaml`.
pmm-agent  | time="2024-06-12T11:49:23.792+00:00" level=info msg="'pmm-agent setup' exited with 0" component=entrypoint
pmm-agent  | time="2024-06-12T11:49:23.792+00:00" level=info msg="Starting 'pmm-agent run'..." component=entrypoint
pmm-agent  | time="2024-06-12T11:49:23.812+00:00" level=info msg="Loading configuration file /usr/local/percona/pmm2/config/pmm-agent.yaml." component=main
pmm-agent  | time="2024-06-12T11:49:23.813+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/node_exporter" component=main
pmm-agent  | time="2024-06-12T11:49:23.813+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/mysqld_exporter" component=main
pmm-agent  | time="2024-06-12T11:49:23.813+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/mongodb_exporter" component=main
pmm-agent  | time="2024-06-12T11:49:23.813+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/postgres_exporter" component=main
pmm-agent  | time="2024-06-12T11:49:23.813+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/proxysql_exporter" component=main
pmm-agent  | time="2024-06-12T11:49:23.813+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/rds_exporter" component=main
pmm-agent  | time="2024-06-12T11:49:23.813+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/azure_exporter" component=main
pmm-agent  | time="2024-06-12T11:49:23.813+00:00" level=info msg="Using /usr/local/percona/pmm2/exporters/vmagent" component=main
pmm-agent  | time="2024-06-12T11:49:23.813+00:00" level=info msg="Runner capacity set to 32, token capacity set to 2" component=runner
pmm-agent  | time="2024-06-12T11:49:23.814+00:00" level=info msg="Window check connection time is 1.00 hour(s)"
pmm-agent  | time="2024-06-12T11:49:23.814+00:00" level=info msg=Starting... component=client
pmm-agent  | time="2024-06-12T11:49:23.814+00:00" level=info msg="Connecting to https://<user>:***@<DOMAIN>:443/ ..." component=client
pmm-agent  | time="2024-06-12T11:49:23.814+00:00" level=info msg="Starting local API server on http://127.0.0.1:7777/ ..." component=local-server/JSON
pmm-agent  | time="2024-06-12T11:49:23.817+00:00" level=info msg=Started. component=local-server/JSON
pmm-agent  | time="2024-06-12T11:49:28.815+00:00" level=error msg="Failed to connect to <DOMAIN>:443: timeout." component=client
pmm-agent  | time="2024-06-12T11:49:29.778+00:00" level=info msg="Connecting to https://<user>:***@<DOMAIN>:443/ ..." component=client
pmm-agent  | time="2024-06-12T11:49:34.779+00:00" level=error msg="Failed to connect to <DOMAIN>:443: timeout." component=client
pmm-agent  | time="2024-06-12T11:49:36.268+00:00" level=info msg="Connecting to https://<user>:***@<DOMAIN>:443/ ..." component=client
pmm-agent  | time="2024-06-12T11:49:41.270+00:00" level=error msg="Failed to connect to <DOMAIN>:443: timeout." component=client
pmm-agent  | time="2024-06-12T11:49:43.657+00:00" level=info msg="Connecting to https://<user>:***@<DOMAIN>:443/ ..." component=client
pmm-agent  | time="2024-06-12T11:49:48.657+00:00" level=error msg="Failed to connect to <DOMAIN>:443: timeout." component=client
pmm-agent  | time="2024-06-12T11:49:52.155+00:00" level=info msg="Connecting to https://<user>:***@<DOMAIN>:443/ ..." component=client
pmm-agent  | time="2024-06-12T11:49:57.155+00:00" level=error msg="Failed to connect to <DOMAIN>:443: timeout." component=client
pmm-agent  | time="2024-06-12T11:50:01.063+00:00" level=info msg="Connecting to https://<user>:***@<DOMAIN>:443/ ..." component=client
pmm-agent  | time="2024-06-12T11:50:06.065+00:00" level=error msg="Failed to connect to <DOMAIN>:443: timeout." component=client

but, authorization is successful, inside pmm server was created “Failed” node

cert R3 valid, curl and telnet successful work

how to fix it?