小编jku*_*lak的帖子

ufw 似乎没有阻止所有端口(带有 Docker 的 Ubuntu)

有一台安装了 Ubuntu 20 的服务器。它安装了 Docker,并且正在运行多个容器。这reverseproxy是一个 Nginx,应该接收 80 和 443 上的流量,并将其路由到容器。它工作完美。但现在我想用 ufw 阻止所有流量(除了 80、443 和 ssh)。

\n

不知何故,http 端口 3000、3001、8081、15672(容器发布的端口)上的流量仍然可以通过。

\n

为什么?如何使用 ufw 阻止所有流量?

\n

超频配置

\n
www@broowqh:~$ sudo ufw status verbose\nStatus: active\nLogging: on (low)\nDefault: deny (incoming), allow (outgoing), deny (routed)\nNew profiles: skip\n\nTo                         Action      From\n--                         ------      ----\n22/tcp                     ALLOW IN    Anywhere\n9000                       ALLOW IN    Anywhere\n3001                       DENY IN     Anywhere\n3001/tcp                   DENY IN     Anywhere\n3001/udp                   DENY IN     Anywhere\n22/tcp (v6)                ALLOW IN    Anywhere (v6)\n9000 (v6)                  ALLOW IN    Anywhere (v6)\n3001 (v6)                  DENY IN     Anywhere (v6)\n3001/tcp (v6)              DENY …
Run Code Online (Sandbox Code Playgroud)

http iptables nginx docker ufw

8
推荐指数
1
解决办法
4028
查看次数

我为什么要git checkout --detach

当我跑步的时候,我明白发生了什么事$ git checkout --detach.

虽然在master,当我$ git checkout --detach,我.git/HEAD不是指向ref: refs/heads/master而是指向哈希(相同的refs/heads/master).

当我真的想要这样做时,用例是什么?

git

5
推荐指数
2
解决办法
1272
查看次数

如何让查询更快?

我的tracks表包含大约 300 万条记录(每天增长 500 条),大约有 30 列,但我只在WHERE子句中使用 15 列。查询平均需要 4800 毫秒,没有其他用户/进程使用数据库。如何让它更快?我希望看到接近 100 毫秒的结果。

寻找歌曲(曲目)的人填写表格:

  • string -> 代表“歌曲标题或艺术家姓名”
  • 字符串 -> 代表“流派”
  • 日期 -> 表示“发布时间”
  • 剩余 12 个参数的最小/最大的几个整数

99% 的用例是 SELECT 查询:

SELECT
    "public"."tracks"."sys_id",
    "public"."tracks"."all_artists",
    "public"."tracks"."name",
    "public"."tracks"."genres",
    "public"."tracks"."release_date",
    "public"."tracks"."tempo",
    "public"."tracks"."popularity",
    "public"."tracks"."danceability",
    "public"."tracks"."energy",
    "public"."tracks"."speechiness",
    "public"."tracks"."acousticness",
    "public"."tracks"."instrumentalness",
    "public"."tracks"."liveness",
    "public"."tracks"."valence",
    "public"."tracks"."main_artist_popularity",
    "public"."tracks"."main_artist_followers",
    "public"."tracks"."key",
    "public"."tracks"."preview_url"
FROM
    "public"."tracks"
WHERE
    (
    "public"."tracks"."name" LIKE '%oultec%'
    OR "public"."tracks"."all_artists_string" LIKE '%oultec%'
    )
    AND ("public"."tracks"."genres_string" LIKE '%rum%')
    AND "public"."tracks"."tempo" >= '80'
    AND "public"."tracks"."tempo" <= '210'
    AND "public"."tracks"."popularity" >= …
Run Code Online (Sandbox Code Playgroud)

sql postgresql full-text-search query-optimization trigram

2
推荐指数
1
解决办法
82
查看次数

在一个 SQL 视图中返回三个 SQL 查询的结果

是否可以在一个视图中返回三个独立 SQL 查询的结果?

我想创建一个“初始数据”视图,其中包含数据库中的一些统计信息,从不同的表返回三个 counts() 。像这样的东西:

CREATE VIEW initial AS
   SELECT count(*) AS albums_count FROM albums,
   SELECT count(*) AS artists_count FROM artists,
   SELECT count(*) AS tracks_count FROM tracks;
Run Code Online (Sandbox Code Playgroud)

我不介意结果是在行还是列中。UNION会有点工作 - 但从性能的角度来看它没有意义。

(我知道我可以从前端执行三个单独的请求,或者将其合并到我的后端代码中,但我使用 PostgREST 作为我的 API,并且我不想在网站加载时发出 3 个单独的“初始”请求。)

sql postgresql postgrest

1
推荐指数
1
解决办法
186
查看次数