nginx 如何使grafana on nixos在本地网络中可用

ujv3wf0j  于 2022-12-17  发布在  Nginx
关注(0)|答案(1)|浏览(186)

我的笔记本电脑和我的nixos服务器(主机名=nixos)都连接到我的路由器(fritz.box),我可以通过ping(ping nixos.fritz.box)和ssh(ssh username@nixos.fritz.box)访问根目录。

我想要的是按照this guide的第一部分在nixos上设置grafana,然后我希望能够从我的笔记本电脑访问grafana。
在服务器上,我配置了nixos来运行grafana和一个反向代理(nginx):

services.grafana = {
    enable = true;
    domain = "grafana.nixos.fritz.box";
    port = 2342;
    addr = "127.0.0.1";
  };

  # nginx reverse proxy for grafana
  services.nginx.virtualHosts.${config.services.grafana.domain} = {
    locations."/" = {
      proxyPass = "http://127.0.0.1:${toString config.services.grafana.port}";
      proxyWebsockets = true;
    };
  };

  # Open ports for http and https
  networking.firewall.allowedTCPPorts = [ 80 443 ];

  system.stateVersion = "21.03";

不幸的是,我不能从我的笔记本电脑访问grafana的网络界面。
我试着改变services.grafana.domain的值和我在浏览器(firefox/curl)中输入的内容,下面是我得到的结果:
| services.grafana.domain |旋度辐角|旋度输出|
| - ------|- ------|- ------|
| grafana.nixos.fritz.box | http://grafana.nixos.fritz.box/| curl:(6)无法解析主机:grafana.nixos.fritz.box|
| grafana.nixos.fritz.box | https://grafana.nixos.fritz.box/| curl:(6)无法解析主机:grafana.nixos.fritz.box|
| grafana.nixos.fritz.box | http://nixos.fritz.box/| curl:(52)来自服务器的空回复|
| grafana.nixos.fritz.box | https://nixos.fritz.box/|加密:(35)加密证书SSL_connect:连接到nixos.fritz.box时的SSL_ERROR_SYSCALL:443|
| nixos.fritz.box | http://nixos.fritz.box/| curl:(52)来自服务器的空回复|
| nixos.fritz.box | https://nixos.fritz.box/|加密:(35)加密证书SSL_connect:连接到nixos.fritz.box时的SSL_ERROR_SYSCALL:443|
| grafana.localhost |(在服务器上)http://grafana.localhost| curl:(7)无法连接到grafana。本地主机端口80:连接被拒绝|
| grafana.localhost |(在服务器上)https://grafana.localhost| curl:(7)无法连接到grafana。本地主机端口443:连接被拒绝|
特别是最后两行让我感到困惑。
服务器上的netstat -an | grep LISTEN将显示以下内容:

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:2342          0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
unix  2      [ ACC ]     STREAM     LISTENING     1837     /run/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     1841     /run/systemd/userdb/io.systemd.DynamicUser
unix  2      [ ACC ]     SEQPACKET  LISTENING     1853     /run/systemd/coredump
unix  2      [ ACC ]     STREAM     LISTENING     1862     /run/systemd/journal/stdout
unix  2      [ ACC ]     SEQPACKET  LISTENING     1868     /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     26958    /var/run/nscd/socket
unix  2      [ ACC ]     STREAM     LISTENING     1905     /run/systemd/journal/io.systemd.journal
unix  2      [ ACC ]     STREAM     LISTENING     12193659 /run/user/1001/bus
unix  2      [ ACC ]     STREAM     LISTENING     12205464 /run/user/1001/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     13312    /nix/var/nix/daemon-socket/socket
unix  2      [ ACC ]     STREAM     LISTENING     18416    /var/run/dhcpcd.sock
unix  2      [ ACC ]     STREAM     LISTENING     18418    /var/run/dhcpcd.unpriv.sock
unix  2      [ ACC ]     STREAM     LISTENING     13308    /run/dbus/system_bus_socket

我不知道如何使grafana在本地网络中可用。有人能帮我吗?
(我知道这个问题和这个问题有点相似,但那里的答案对我没有帮助)

oalqel3c

oalqel3c1#

添加下面这行代码解决了我的问题(感谢@Tch):

services.nginx.enable = true;

相关问题