nginx 基本使用、借助 nginx 和 mkcert 实现本地 https://localhost 测试。

CSDN 如何将资源设置为免费?

安装和基本使用

进入 nginx 官网

下载 Mainline version 版本

解压到一个你喜欢的位置,比如解压到 C: 目录

不管配不配置环境变量,对 nginx 的所有操作都应该在对应文件夹中

基本命令的使用:

sh 复制代码
cd C:\nginx-1.25.4\
# 一定要先进入文件

start nginx
# 启动 nginx

./nginx.exe -s reload
# 应用新的配置文件(平滑关闭旧进程)

./nginx.exe -s quit
# 平滑关闭 graceful shutdown
./nginx.exe -s stop
# 快速关闭 fast shutdown

./nginx.exe -t
# 测试配置文件

其他命令

sh 复制代码
tasklist | findstr "nginx.exe"
# 查看 nginx 状态

taskkill /F /PID xx /PID xx
# 强制关闭对应 PID

本地搭建 https

安装 mkcert-v1.4.4-windows-amd64.exe

执行命令

sh 复制代码
$ .\mkcert-v1.4.4-windows-amd64.exe -install
# 安装 CA 根证书

$ .\mkcert-v1.4.4-windows-amd64.exe -CAROOT
# 查看根证书位置
# 或者运行 certmgr.msc,点击 "受信任的根证书颁发机构",可以找到 mkcert xx@xx

$ .\mkcert-v1.4.4-windows-amd64.exe localhost 127.0.0.1
# 为 localhost 和 127.0.0.1 生成证书:
# c:\Users\keety\Downloads\localhost+1.pem
# c:\Users\keety\Downloads\localhost+1-key.pem

nginx 的配置文件示例:

conf 复制代码
# C:\nginx-1.25.4\conf\nginx.conf

events {
    worker_connections  1024;
}

http {

    server {
        listen 80;
        listen [::]:80;
        # html 文件夹,指的是 nginx 目录中的 html 文件夹
        # 比如 C:\nginx-1.25.4\html
        root   html;
        index  index.html;
    }

    server {
        listen 443 ssl;
        listen [::]:443 ssl;
        server_name localhost;

        location / {
            root   html;
            index  index.html;
        }

        ssl_certificate      c:\Users\keety\Downloads\localhost+1.pem;
        ssl_certificate_key  c:\Users\keety\Downloads\localhost+1-key.pem;
    }

    server {
        listen 8080 ssl;
        listen [::]:8080 ssl;
        server_name localhost;

        ssl_certificate      c:\Users\keety\Downloads\localhost+1.pem;
        ssl_certificate_key  c:\Users\keety\Downloads\localhost+1-key.pem;

        location / {
            # 反向代理,需要运行一个网页在 6449 端口。然后通过 https://localhost:8080 就可以访问到 6449 端口的内容
            proxy_pass              http://localhost:6449;
        }
    }

}

可以将 mkcert 其添加到环境变量 path 中,然后为其创建一个软连接:

sh 复制代码
$ New-Item -ItemType SymbolicLink -Target mkcert-v1.4.4-windows-amd64.exe -Path C:\soft\it\mkcert\mkcert.exe
# 注意我的 C:\soft\it\mkcert\ 已经添加到环境变量 path 中。其中 mkcert-v1.4.4-windows-amd64.exe 也在 C:\soft\it\mkcert\ 里面。注意两个 .exe 后缀名都不能省略

$ mkcert
# 测试

最终效果:不会出现 this server could not prove that it is 127.0.0.1; its security certificate does not specify subject alternative names. this may be caused by a misconfiguration or an attacker intercepting your connection. 等错误!

相关推荐
云边有个稻草人20 小时前
手机也能控 Linux?Cpolar+JuiceSSH 搞定内网远程
运维·服务器·cpolar
Altair123120 小时前
nginx的https的搭建
运维·网络·nginx·云计算
云计算练习生20 小时前
linux shell编程实战 10 Git工具详解与运维场景实战
linux·运维·git
Umi·20 小时前
iptables的源地址伪装
运维·服务器·网络
晨非辰20 小时前
C++ 波澜壮阔 40 年:从基础I/O到函数重载与引用的完整构建
运维·c++·人工智能·后端·python·深度学习·c++40周年
ALex_zry1 天前
Docker Compose运维技术实战分享:从安装到架构解析
运维·docker·架构
t198751281 天前
在Ubuntu 22.04系统上安装libimobiledevice
linux·运维·ubuntu
skywalk81631 天前
linux安装Code Server 以便Comate IDE和CodeBuddy等都可以远程连上来
linux·运维·服务器·vscode·comate
@游子1 天前
内网渗透笔记-Day5
运维·服务器