个人技术分享

环境

ubuntu22.04

nginx-1.23.4

dns劫持

hosts下配置IP和域名

nginx安装及配置

  • 向系统添加 nginx 存储库
sudo apt update
sudo apt install curl gnupg2 ca-certificates lsb-release
echo "deb http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt update
  • 安装 nginx

默认情况下,Ubuntu软件源中提供的可能不是最新的1.23.4版本。

sudo apt install nginx

手动安装指定版本(1.23.4)

# 下载特定版本的源代码
wget http://nginx.org/download/nginx-1.23.4.tar.gz
tar -zxvf nginx-1.23.4.tar.gz
cd nginx-1.23.4

# 安装编译所需的依赖项
sudo apt-get build-dep nginx

# 编译并安装
sudo ./configure --with-http_ssl_module    //确保具有 SSL 支持所需的依赖项
sudo make
sudo make install
  • 验证 SSL 模块是否被包含( --with-http_ssl_module 在输出中查找)
sudo /usr/local/nginx/sbin/nginx -V
  • 重新加载 systemd 守护进程
sudo systemctl daemon-reload
  • 测试配置并重启服务
sudo /usr/local/nginx/sbin/nginx -t
sudo systemctl restart nginx
  • 查看 Nginx 错误日志和日志日志
sudo cat /var/log/nginx/error.log    //错误日志
sudo journalctl -xeu nginx.service    //日记日志

TLS降级处理

  1. 配置 openssl 自签证书(博客里面有生成 nginx 自签 ssl 证书过程)
  2. 在 nginx/conf/nginx.conf 中修改 ssl_protocols 这行为 “ ssl_protocols TLSv1 TLSv1.1; ”
  3. 在 nginx/conf/nginx.conf 中修改 ssl_certificate 和 ssl_certificate_key 为 “ ssl_certificate 证书路径 和 ssl_certificate_key 证书路径 ”
  4. http 块的 server 块中添加 “  server_name 域名 ”
  5. 其它配置根据自己需求参考 nginx 配置文档来配置
  6. 配置结束后重启服务