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. 等错误!

相关推荐
Pythonliu73 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我3 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
小O_好好学4 小时前
CentOS 7文件系统
linux·运维·centos
哲伦贼稳妥5 小时前
一天认识一个硬件之机房地板
运维·网络·经验分享·其他
苹果醋35 小时前
快速玩转 Mixtral 8x7B MOE大模型!阿里云机器学习 PAI 推出最佳实践
spring boot·nginx·毕业设计·layui·课程设计
john_hjy5 小时前
11. 异步编程
运维·服务器·javascript
x晕x5 小时前
Linux dlsym符号查找疑惑分析
linux·运维·服务器
活跃的煤矿打工人5 小时前
【星海saul随笔】Ubuntu基础知识
linux·运维·ubuntu
tangdou3690986556 小时前
两种方案手把手教你多种服务器使用tinyproxy搭建http代理
运维·后端·自动化运维
北京智和信通6 小时前
云平台和虚拟化智慧运维监控,全面提升故障感知与处置能力
运维·虚拟化·云平台·虚拟机监控