After having some more time to look into the issue, I figured it out. There were two issues that prevented this from working:
-
I was using an insecure gRPC connection to connect to an Nginx server that had SSL certs setup.
I had to usecred, err := credentials.NewClientTLSFromFile("path_to_cert", "")
and
grpc.Dial(grpcHost, grpc.WithTransportCredentials(cred))
to have Nginx accept the connection. -
The gRPC API endpoint was incorrect. The correct location for Chirpstack V3 is as follows:
location ~* /api(\.) {
grpc_pass grpc://localhost:8080;
}
Once I’ve made these changes, I was able to connect over gRPC on port 443.
Note: also make sure to enable http2
in Nginx like this:
server {
listen 443 ssl http2;
...
}