Python - http服务,直接返回客户端IP
获取思路
-
如果没有代理,直接获取 remote_addr 就可以获取到客户端 IP。
-
有代理的情况,可以通过头信息分析,需要配合 nginx 配置。
人生苦短,Let's Go ! Python ...
如果没有代理,直接获取 remote_addr 就可以获取到客户端 IP。
有代理的情况,可以通过头信息分析,需要配合 nginx 配置。
在使用 nginx 做反向代理时,后端要获取到客户端 IP,需要在 nginx 上设置对应的配置。
设置 HTTP 请求头中的 X-Forwarded-For,X-Real-IP
……现在很多云主机都是使用 nat,没有在机器上直接添加外网 IP 了。这时候要获取到外网 IP 就需要一些服务的支持。
kvm 用习惯的,感觉 virtualbox 不顺手。我都是远程连接到虚拟机的,因为 virtualbox 的无痕模式对我来说没啥用了,还是用 kvm。两种虚拟机无法同时开启,因为内核模块的原因。
……定时将本地的备份同步到远程 Linux 服务器上的目录。
需要先安装对应 rsync 客户端,用 ssh key 做验证,这边安装的是 cygwin,进入 cygwin shell,通过 ssh-keygen 命令生成密钥。
……yum 是红帽系列发行版本的包管理器。
例如安装nginx
yum -y install nginx
在 CentOS 7 使用的是 systemd 管理服务了,我们可以通过编写 service 文件来,添加一个服务。
……使用 grep 的正则表达式判断字符串是否是合法 IPv4
……写脚本的时候,需要判断IP是否是合法IP,再进行设置。
IPv4 使用 32 位(4 字节)地址,即
8 bit/byte *4 byte = 32 bit
二进制范围:
00000000.00000000.00000000.00000000 - 11111111.11111111.11111111.11111111
因此,只要判断是在这个范围就可以,判断是否是合法 IP?
……在 Manjaro 关闭的时候,一些 wine 程序由于没有关闭,会导致 systemd 关机在等待关闭。
可以执行脚本去手动关闭这些 wine 服务,但是,有时候关机前忘记执行了,就会导致关机等待。
还是设置关机执行脚本比较方便。
……