首页
留言
友链
架子鼓
更多
壁纸
直播
时光机
关于
Search
1
谷豆电视直播代理源码,谷豆代理原理解析
23,398 阅读
2
华为鸿蒙系统无法安装 xapk APP 闪退 ( youtube vanced ) 的解决办法
16,952 阅读
3
[转载]青龙面板+Ninja从零安装教程
14,770 阅读
4
docker 之 typecho 镜像-不推荐
10,138 阅读
5
typecho插件 - 在线下载主题到服务器 - addTheme 发布
7,194 阅读
技术
php
linux
mysql
redis
typecho
nginx
go
python
dnmp
工具
日记
理财日记
生活日记
生活
kindle 资源
公告
虚拟机
登录
Search
标签搜索
msyql
主从
华为
鸿蒙
xapk
闪退
APP 闪退
kindle
mobi
docker
pip
alpine
梦浪的小虾米
累计撰写
126
篇文章
累计收到
527
条评论
首页
栏目
技术
php
linux
mysql
redis
typecho
nginx
go
python
dnmp
工具
日记
理财日记
生活日记
生活
kindle 资源
公告
虚拟机
页面
留言
友链
架子鼓
壁纸
直播
时光机
关于
搜索到
17
篇与
linux
的结果
2022-09-15
https 双向证书认证踩坑 (nginx)
背景公司的后台被别有用心的人攻击了,导致公司损失了几个小目标。恰巧与世隔绝的技术总监回来了,他提出把后台设置成证书访问(https 双向访问认证),即:用户访问后台地址的时候,本地需要安装特定的公钥证书,然后才能访问后台,不然 nginx 就直接返回 400 ,然后让我来试试看怎么弄。踩了一下午的坑,总算是走通了流程。看看原理不复制了,你们自己去看:https://blog.csdn.net/easylife206/article/details/107776854小白流程创建根证书openssl genrsa -out root.key 2048创建根证书请求文件:openssl req -new -out root.csr -key root.key创建根证书openssl x509 -req -in root.csr -out root.crt -signkey root.key -CAcreateserial -days 3650在创建证书请求文件的时候需要注意三点,下面生成服务器请求文件和客户端请求文件均要注意这三点:Common Name 填写证书对应的服务域名;所有字段的填写,根证书、服务器端证书、客户端证书需保持一致最后的密码可以直接回车跳过。创建服务器端证书私钥openssl genrsa -out server.key 1024创建服务器端证书请求文件openssl req -new -out server.csr -key server.key创建服务器端公钥文件openssl x509 -req -in server.csr -out server.crt -signkey server.key -CA root.crt -CAkey root.key -CAcreateserial -days 3650创建客户端证书私钥openssl genrsa -out client.key 1024创建客户端证书请求文件openssl req -new -out client.csr -key client.key创建客户端证书公钥openssl x509 -req -in client.csr -out client.crt -signkey client.key -CA root.crt -CAkey root.key -CAcreateserial -days 3650创建win可用的p12格式证书 openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12 (-clcerts 可以去掉)修改nginx配置(示例)server { listen 443 ssl; server_name www.yourdomain.com; ssl on; ssl_certificate /data/sslKey/server.crt; #server公钥证书 ssl_certificate_key /data/sslKey/server.key; #server私钥 ssl_client_certificate /data/sslKey/root.crt; #客户端公钥证书 ssl_verify_client on; #开启客户端证书验证 location / { root html; index index.html index.htm; } }测试配置是否正常curl --cacert root.crt --cert ./client.crt --key ./client.key https://test.cc --resolve test.cc:443:127.0.0.1把生成的证书导入本地浏览器root.crt 导入受信任的根证书颁发机构client.p12 直接点击该文件进行自动导入,一切默认选项。Tips所有字段的填写,根证书、服务器端证书、客户端证书需保持一致最后的密码可以直接回车跳过。本博主建议:配置完 nginx 后,重启了 nginx 就开始使用 curl 进行请求,确认自己的配置是否 ok。然后在进行浏览器的调整。我一开始都摸不着头脑,不知道怎么弄。本博主建议使用 ie 浏览器调整浏览器访问的效果,不然谷歌和火狐坑的你不知道东南西北。ie 是改完就能看到效果,而 chrome 是需要重启电脑才会看到效果。根证书的Common Name填写root就可以,所有客户端和服务器端的证书这个字段需要填写域名,一定要注意的是,根证书的这个字段和客户端证书、服务器端证书不能一样(本博主在总结一下:ca证书是指颁发机构的名字,所以尽量写一个自己知道的名字,而服务器要和客户端的名字一样);Nginx 的 ssl_client_certificate 需要配置根证书 root.crt,而不是客户端证书;有一点需要注意的就是,如果客户端证书不是由根证书直接颁发的,配置中还需要加一个配置:ssl_verify_depth 1;一些快捷键windows: mmc 证书管理 certmgr.msc 证书管理参考https://www.cnblogs.com/xiao987334176/p/11041241.htmlhttps://blog.51cto.com/tchuairen/1782945https://blog.csdn.net/easylife206/article/details/107776854https://blog.51cto.com/u_15148274/5502780https://www.jianshu.com/p/2b2d1f511959https://www.jianshu.com/p/003c6fb3dc2dhttps://www.cnblogs.com/smilexumu/p/9039251.htmlhttps://blog.csdn.net/a82514921/article/details/104587416https://blog.csdn.net/a82514921/article/details/104587416https://blog.csdn.net/weixin_39611308/article/details/110794666https://www.xitongcheng.com/jiaocheng/win10_article_67483.htmlhttps://github.com/avwo/whistle/issues/22https://blog.csdn.net/Drug_/article/details/100893157https://www.hi-linux.com/posts/38492.html#vip-container
2022年09月15日
617 阅读
1 评论
1 点赞
2022-09-12
[解决]linux 服务器的硬盘满了,但是真实空间并没有满
这两天公司的测试服务器崩了,崩的原因很简单:磁盘满了,没有空间了。但是深究后发现原因并非如此。实际上是:删除文件的进程未释放文件使用 df -lh 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 7.7G 0 7.7G 0% /dev tmpfs 7.7G 0 7.7G 0% /dev/shm tmpfs 7.7G 711M 7.0G 10% /run tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup /dev/mapper/cl-root 70G 70G 0G 100% / /dev/sdb1 916G 31G 839G 4% /data /dev/mapper/cl-home 851G 243G 608G 29% /home /dev/sda3 1014M 242M 773M 24% /boot /dev/sda1 146M 20M 127M 14% /boot/efi tmpfs 1.6G 1.2M 1.6G 1% /run/user/42 tmpfs 1.6G 4.0K 1.6G 1% /run/user/1009 tmpfs 1.6G 0 1.6G 0% /run/user/0 当时的命令查询后发现/dev/mapper/cl-root 70G 70G 0G 100% / 这个系统盘已经被用满了,但是通过 du -lh --max-depth=1 / 后发现,统计的文件占用只有9G,实际上有61个G不见了后来通过百度得知:系统自动删除文件的进程并没有执行,导致文件句柄没有被释放。于是我试了试,# 查询删除未释放的进程 lsof |grep deleted # 上述命令得到的结果 lsof -n / |grep deleted xxxxx 751 root 8r REG 253,0 61G 202150797 /xxxxx/xxxxx (deleted) 果然发现了一个占用非常大的文件,为了方便,直接显示一个,仅作演示,实际请自行查看自己的于是执行kill -9 751(上一个命令得到 pid )然后再次 执行第一个命令,发现空间已经恢复正常大小了。真是一次奇妙的经历。
2022年09月12日
593 阅读
0 评论
0 点赞
2022-06-12
关于修改博客主题 cdn 地址的一些做法
太忙了,忙着上线。前两天因为又要配置 xdebug ,所以我回到自己的博客看文章,结果发现发现博客的 js 死活加载不了,只有翻墙后才能加载,于是去 joe 的 github 看了一下,发现大佬已经解决了这个问题。作者的解决方案: <script src="https://cdn.jsdelivr.net/npm/wowjs@1.1.3/dist/wow.min.js"></script> <script src="https://fastly.jsdelivr.net/npm/wowjs@1.1.3/dist/wow.min.js"></script>通过上述可以发现,作者把 https://cdn.jsdelivr.net 换成了 https://fastly.jsdelivr.netOk.既然知道作者是怎么做的了,那就可以根据这个东西来修改了。第一种方式。 直接把作者的包下载下来,然后上传到自己的博客里面,因为我修改了博客主题,这种方式不适合我。第二种方式。 从博客主机里面下载主题,然后使用编辑器去批量替换/手动替换,然后上传上去。我就是这种方式,因为懒,又想不出其他方式。那么没有第三种方式?答案肯定有。第三种方式。 直接使用sed 命令去批量替换。我记得有这个命令,但是我也不会使用,于是我也百度了一下是否可以批量替换,结果真的可以。例如:替换/blog下所有文件中的 cdn.jsdelivr.net 为 fastly.jsdelivr.net (我还没有测试,你们试试)sed -i "s/cdn.jsdelivr.net/fastly.jsdelivr.net/g" grep cdn.jsdelivr.net -rl /blogend完
2022年06月12日
979 阅读
0 评论
0 点赞
2022-03-15
外网[客户端]访问 docker 内的容器遇到的问题
环境复现宿主机: centos 7 + docker + web 容器 +mysql 容器 + redis 容器 局域网 ip: 192.168.70.122我的电脑: win11目的在我的电脑访问宿主机里面的 mysql 容器和 redis 容器下文中为了方便称呼,本地就代指我的电脑,宿主机就代指 centos7.问题宿主机重启网络后,本地通过 ip 无法访问 web 容器(例如:通过浏览器访问 http://192.168.70.122:80), 浏览器页面无任何错误代码过程:通过观察 web 容器的日志,未发现任何错误日志和访问日志,推测未到 web 容器。猜测修改网络配置的格式不对,还原配置后,继续重启网络,依旧无法访问。重启服务器后,发现可以正常访问 web。推测是服务器网络问题,搜索一圈后,发现宿主机网络无任何问题。后续猜测可能是 宿主机与 docker 之间的通信出了问题。搜索后,通过对应的文章解决了问题。 临时解决方案:echo 1 > /proc/sys/net/ipv4/ip_forward //设为开启 永久解决方案:修改 /etc/sysctl.conf 文件 把net.ipv4.ip_forward=1写进去 重启网络之后docker网络也正常!通过 192.168.70.122:6379 访问 redis 无法访问过程:通过观察发现我的容器默认绑定模式为:127.0.0.1:6379 解决方案:如果希望局域网访问或者外网访问的话,需要把容器的ip设置成局域网的ip。例如:192.168.70.122:6379新学到的命令需要重启网卡的话,通过 ifup eth0 启动网卡(该命令会检查配置文件)参考网络问题解决方案:https://blog.csdn.net/qq_27384769/article/details/116935205
2022年03月15日
772 阅读
0 评论
0 点赞
2022-03-07
[小白文]手把手教你使用 dnmp 搭建环境
阅读本文您需要的技能基础的 Linux 技能基础的 docker 命令基础的 nginx 命令基础的 git 命令遇到问题可以解决的能力额外的说明本文的 dnmp 是基于: https://docs.lnmp.khs1994.com本文的系统环境为 centos 7 本文的操作目录都是在 第三步 的目录下开始第一步安装 docker 安装 git第二步安装 docker-compose第三步下载国内镜像源:git clone --depth=1 https://gitee.com/khs1994-docker/lnmp.git 具体参考第四步配置 dnmp 全局环境, /data/lnmp 路径请按自己的路径进行修改(/data/lnmp为第三步的目录)$ vi ~/.bash_profile export LNMP_PATH=/data/lnmp export PATH=$LNMP_PATH:$LNMP_PATH/bin:$PATH具体参考修改完成后,让其立即生效source ~/.bash_profile第 6 步 启动 dockersystemctl start docker第六步修改 .env 配置-该文件在第三步的目录下目前配置为 自动拉取 nginx mysql php8 redis 镜像,如果需要其它镜像,请参考https://docs.lnmp.khs1994.com# [services] LNMP_SERVICES="nginx mysql php8 redis"具体参考第七步执行命令开始拉取镜像-该命令为第五步创建lnmp-docker up 具体参考第八步使用快捷命令生成 nginx 配置# 注意,本命令不会在app目录下生成对应的代码目录。需要自行创建 lnmp-docker nginx-config http blog blog.2pp.link ## 创建对应的目录 mkdir blog ## 重启 nginx lnmp-docker restart nginx 具体参考第九步把你的代码上传到第八步的目录下+操作数据库第十步访问第八步的网址FAQ关于证书?请自行参考:https://docs.lnmp.khs1994.com关于app下新建目录的权限问题?请自行研究更多使用说明具体参考:https://docs.lnmp.khs1994.com
2022年03月07日
845 阅读
0 评论
0 点赞
1
2
...
4