前提・実現したいこと
nginxで502が返るが、200にしたい。
発生している問題・エラーメッセージ
- log - GrafanaからPrometheusにnginx経由でアクセスしているのですが、502が返る。(note: nginxにはlogが残りませんでした。)
Bash
1$ tail /var/log/grafana/grafana.log -n1 2t=2020-02-04T05:28:33+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=1 uname= method=GET path=/api/datasources/proxy/1/api/v1/query status=502 remote_addr=172.17.0.1 time_ms=38 size=0 referer=http://localhost:3000/datasources/edit/1/
- wireshark - nginx:
https://localhost
にアクセスした際のパケットキャプチャでBad Certificateが出ている。
該当のソースコード
- nginx.conf
Bash
1$ cat /etc/nginx/nginx.conf 2http { 3 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 4 '$status $body_bytes_sent "$http_referer" ' 5 '"$http_user_agent" "$http_x_forwarded_for" "$request_body"'; 6 server { 7 listen 443 ssl; 8 server_name localhost; 9 ssl_certificate /root/server.crt; 10 ssl_certificate_key /root/server.key; 11 12 location / { 13 proxy_pass http://localhost:9090/; 14 } 15 } 16} 17 18events {}
- 各種証明書の生成 - 開発環境でDockerfile内で行いました。
Dockerfile
1RUN openssl req -x509 -sha256 -nodes -new -days 365 -newkey rsa:4096 -subj "/CN=rootca" -keyout /root/ca.key -out /root/ca.crt 2 3RUN openssl req -sha256 -nodes -new -days 365 -newkey rsa:4096 -subj "/CN=localhost" -keyout /root/server.key -out /root/server.csr \ 4&& openssl x509 -req -in /root/server.csr -CA /root/ca.crt -CAkey /root/ca.key -CAcreateserial -days 365 -out /root/server.crt
- 証明書の検証 - okです。
Bash
1$ ln -s /root/ca.crt /root/"$(openssl x509 -hash -noout -in /root/ca.crt).0" 2$ openssl verify -CApath /root /root/server.crt 3/root/server.crt: OK
- ca.crtをgrafanaに添付 - caをgrafanaに添付したがエラーが出る。
Bash
1$ cat /root/ca.crt 2-----BEGIN CERTIFICATE----- 3MIIFAzCCAuugAwIBAgIUb/w9rveUgWxxJaQgB9F7tuOmNpEwDQYJKoZIhvcNAQEL 4BQAwETEPMA0GA1UEAwwGcm9vdGNhMB4XDTIwMDIwMjE2MDI1N1oXDTIxMDIwMTE2 5MDI1N1owETEPMA0GA1UEAwwGcm9vdGNhMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A 6MIICCgKCAgEAuG5QOO4LmAOkgj1Y9o4Dfy0yYnO4MrPrWayP96huHLBqpz19YviQ 7cr9YYrU5dydFS71StWuQObagzbFzV8ffZ9WngbuYtoKVLAcDBSYWYeNbVY2CaP6L 8mytL1ftAi5weL1G3MbPCgLDdHkUhuXSKw+W35PqwnuuI3dCSzz8D/2LZ2XQS0EVW
試したこと
- 証明書のチェックをしない場合 - エラーはありませんでした。
- curlで試した場合 - エラーはありませんでした。
Bash
1$ curl --cacert /root/ca.crt https://localhost 2<a href="/graph">Found</a>.
- grafanaの原因 - Grafana Community
補足情報(FW/ツールのバージョンなど)
grafana - v6.6.0
nginx - 1.14.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。