我一直在想,DNS 服务器的 IP 地址是什么?互联网上的每台计算机都必须有一个 IP 地址。DNS 服务器只是互联网上的计算机。如果客户端计算机想要连接到(例如,Google 主页的 Web 服务器),则它必须经历以下过程。
客户端计算机 (192.168.0.108) 向 DNS 服务器 (???) 发送请求,以通过路由器网络通过家庭网络设备 (76.67.253.228) 解析域名 www.google.com。
然后请求到达 DNS 服务器 (???),该服务器响应 IP 地址为 172.217.165.4 的客户端计算机。
然后,客户端计算机向 Web 服务器 (172.217.165.4) 请求特定网页。
网络服务器(172.217.165.4)然后响应一个特定的网页,请求就完成了!
我的问题是标记的 IP 地址是什么???在上述过程中。您的浏览器会自动识别吗?
我想从本地 git 存储库中清理一个大文件(顺便清理我的存储库以减小大小)。这是我的狂欢:
#!/bin/bash
bigfile="/path_to_mygitproject/bigfile.tar.gz"
git filter-branch --force --index-filter 'git rm -r --cached --ignore-unmatch '"$bigfile"'' --prune-empty --tag-name-filter cat -- --all
git filter-branch --force --index-filter 'git rm -r --cached --ignore-unmatch '"$bigfile"'' HEAD
Run Code Online (Sandbox Code Playgroud)
但现在显示以下警告:
WARNING: git-filter-branch has a glut of gotchas generating mangled history
rewrites. Hit Ctrl-C before proceeding to abort, then use an
alternative filtering tool such as 'git filter-repo'
(https://github.com/newren/git-filter-repo/) instead. See the
filter-branch manual page for more details; to squelch this warning,
set FILTER_BRANCH_SQUELCH_WARNING=1.
Run Code Online (Sandbox Code Playgroud)
我一直用这个bash,从来没有遇到过问题。到目前为止。我猜 git 中发生了一些变化。
我尝试将“git filter-branch”替换为“git …
我有点困惑,因为我发现了两个关于使用 LVM 创建 RAID0 的不同说明。第一个资源显示了使用此模式创建 RAID0 的方法:
lvcreate -i[num drives] -I[strip size] -l100%FREE -n[lv name] [vg name]
Run Code Online (Sandbox Code Playgroud)
但是查看官方手册,它显示的方法几乎没有什么不同,至少我认为,相同的任务。
lvcreate --type raid0 [--stripes Number --stripesize Size] VG [PVs]
Run Code Online (Sandbox Code Playgroud)
在第二个例子中,我们明确指出我们正在处理raid0。我现在不确定哪种模式是正确的。我尝试了第一个并创建了 lvg 没有问题,但还没有进行更深入的测试。
在我搞砸我的电脑之前,我还有第二个问题想问;)
我有两个相同的 ssd 驱动器 - 我想加快系统和游戏的性能。我想用它们制作 RAID 0,最近,我发现一篇文章说它可以用 LVM 来完成。
我很惊讶,这个raid是在LVM的最后一个“层”——逻辑组上进行的。我希望它发生在创建卷组的级别,然后在 raid 0 之上创建普通分区。
只是为了确保,这会运作良好吗?
sudo lvcreate -i2 -I4 --size 100G -n root lvm-system /dev/sda /dev/sdc
sudo lvcreate -i2 -I4 --size 4G -n swap lvm-system /dev/sda /dev/sdc
sudo lvcreate -i2 -I4 -l 100%FREE -n games lvm-system /dev/sda /dev/sdc
Run Code Online (Sandbox Code Playgroud)
我将不胜感激任何帮助!
我尝试了几件事,包括
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Lnndon
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
Run Code Online (Sandbox Code Playgroud)
但无论我做什么我都会得到
Configuring tzdata
------------------
Please select the geographic area in which you live. Subsequent configuration
questions will narrow this down by presenting a list of cities, representing
the time zones in which they are located.
1. Africa 4. Australia 7. Atlantic 10. Pacific 13. Etc
2. America 5. Arctic 8. Europe 11. SystemV
3. Antarctica 6. Asia 9. Indian 12. US
Geographic area:
Run Code Online (Sandbox Code Playgroud)
并且用户输入不起作用(我真的希望这是非交互式的)。
这是完整的 …
我正在尝试在PersistentVolumeClaimGKE 中部署 Postgres。根据此处的描述(请参阅 参考资料PGDATA),建议在安装外部卷时创建一个子目录。所以,这就是我对 PG 部署所做的事情:
spec:
containers:
- name: postgres-dev
image: "postgres:12.1"
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5432
env:
- name: PGDATA
value: "/var/lib/postgresql/data/pgdata"
volumeMounts:
- name: postgres-persistent-storage-dev
mountPath: "/var/lib/postgresql/data/pgdata"
volumes:
- name: postgres-persistent-storage-dev
persistentVolumeClaim:
claimName: postgres-pvc-dev
Run Code Online (Sandbox Code Playgroud)
/pgdata我在 中创建子目录/postgresql/data,这将是 Postgres 数据的原始挂载点。
但是当我尝试部署 Postgres pod 时,它因退避错误而停止,并且收到以下事件:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 20s default-scheduler Successfully assigned default/postgres-dev-7f549754d-nm2lf to gke-cluster-pool-1-4ce1e4d6-m33c
Normal SuccessfulAttachVolume 15s attachdetach-controller AttachVolume.Attach …Run Code Online (Sandbox Code Playgroud) 这是我在终端中运行时响应的一部分dig:
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
Run Code Online (Sandbox Code Playgroud)
OPT 是什么意思?伪断面 是什么意思?
我想通过 为我的网站创建通配符 SSL LetsEncrypt。我按照说明运行后Certbot,它给了我一个 DNS 挑战并说:
Please deploy a DNS TXT record under the name
_acme-challenge.db.example.com with the following value:
jn324jr348r342bhr234hrou234nbr4324fj34r
Run Code Online (Sandbox Code Playgroud)
db.example.com 也在里面/etc/bind/。
我所做的是打开db.example.com并在底线添加以下内容:
_acme-challenge.db.example.com 3600 IN TXT "jn324jr348r342bhr234hrou234nbr4324fj34r"
Run Code Online (Sandbox Code Playgroud)
但是当我像这样检查它时:
nslookup -type=TXT _acme-challenge.example.com
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误:
- The following errors were reported by the server:
Domain: db.example.com
Type: dns
Detail: DNS problem: NXDOMAIN looking up TXT for
_acme-challenge.db.example.com - check that a DNS record
exists for this domain
ubuntu@me-1:/etc/bind$ nslookup -type=TXT _acme-challenge.example.com
Server: 127.0.0.53
Address: …Run Code Online (Sandbox Code Playgroud) domain-name-system ssl ssl-certificate txt-record lets-encrypt
我正在尝试使用规则上的nftables命名来跟踪从一组特定 IP 地址(IPv4 和 IPv6)传输的总数据。counter我的目标是能够在一个日历月内跟踪这一总数,以便我可以根据使用情况进行计费。
相关规则如下:
add table stats
add counter stats os-traffic-4
add counter stats os-traffic-6
add chain inet stats INPUT { type filter hook input priority 0; }
add rule ip stats INPUT ip saddr 192.168.123.123 counter name os-traffic-4
add rule ip stats INPUT ip saddr 192.168.123.234 counter name os-traffic-4
add rule ip stats INPUT ip saddr 192.168.123.345 counter name os-traffic-4
add rule ip6 stats INPUT ip6 saddr 1234:1234:1234:1234:1234:1234:1234:1234 counter name os-traffic-6
add rule …Run Code Online (Sandbox Code Playgroud) 环境: CentOS 8、Node.js、Digital Ocean Droplet
我的 Systemd 设置使用以下命令启动节点应用程序。它按预期工作。
$ sudo systemctl start myapp
Run Code Online (Sandbox Code Playgroud)
文件 1: /etc/systemd/system/myapp.service
[Unit]
Description = My App
After = network.target
[Service]
ExecStart = /root/start-myapp.sh
Restart=on-failure
[Install]
WantedBy = multi-user.target
Run Code Online (Sandbox Code Playgroud)
文件2: /root/start-myapp.sh
#!/bin/sh
/usr/bin/node /srv/myapp/app.js
Run Code Online (Sandbox Code Playgroud)
但是,当我不使用 Systemd 时,我通常会使用命令npm start. 我宁愿让 Systemd 单元也用npm start.
不幸的是扔了一个错误,当我换app.js到npm start的/root/start-myapp.sh,
/usr/bin/node /srv/myapp/npm start
Run Code Online (Sandbox Code Playgroud)
我通过从切换路径作了一次尝试node来npm,但它产生的同样的错误。
/usr/bin/npm /srv/myapp/npm start
Run Code Online (Sandbox Code Playgroud)
问题:如何让我的 Systemd 单元文件使用命令启动我的应用程序npm start?
我有一个正在工作的反向代理,它仅在我的站点中的特定位置上处于活动状态,在本例中例如:www.example.com/reverseproxy/site1我正在反向代理 site1。我想替换每个代理页面正文的某些部分,所以我尝试使用 mod_substitute,问题是我无法让它在<Location /reverseproxy>
这是我的 httpd(启用了 SSL):
<VirtualHost _default_:443>
ProxyPassInterpolateEnv On
RewriteEngine On
... Some rewrite rules
RewriteRule /?reverseproxy/http(s*):/([^\/]*)/*(.*) "http$1://$2/$3" [P]
SSLProxyEngine On
ProxyPassReverse "/reverseproxy/http${ssl}://${page}" http${ssl}://${page} interpolate
SetOutputFilter INFLATE;proxy-html;SUBSTITUTE;DEFLATE;
ProxyHTMLInterp On
ProxyHTMLExtended Off
...Some ProxyURLMap
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|<body>|<body1>|"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
这个替代品确实有效,但它适用于所有页面,而不仅仅是/reverseproxy. 当我尝试将其放入时,<Location /reverseproxy>它不起作用,它只是忽略它:
<Location /reverseproxy>
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|<body>|<body1>|"
</Location>
Run Code Online (Sandbox Code Playgroud)
我尝试添加
RequestHeader unset Accept-Encoding
Run Code Online (Sandbox Code Playgroud)
在标签之外<Location>但它不起作用
我尝试添加这个
SetOutputFilter SUBSTITUTE;DEFLATE
Run Code Online (Sandbox Code Playgroud)
在<Location /reverseproxy>标签中但没有运气
正如有人建议尝试使用这个过滤器链
FilterDeclare filter
FilterProvider filter SUBSTITUTE …Run Code Online (Sandbox Code Playgroud) linux ×2
networking ×2
accounting ×1
apache-2.4 ×1
apache2 ×1
bash ×1
dig ×1
docker ×1
git ×1
kubernetes ×1
lets-encrypt ×1
logging ×1
lvm ×1
mod-proxy ×1
mod-rewrite ×1
nftables ×1
node.js ×1
npm ×1
postgresql ×1
raid ×1
raid0 ×1
ssl ×1
systemd ×1
traffic ×1
txt-record ×1
ubuntu ×1