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

相关推荐
比特森林探险记1 小时前
Nginx+Lua动态加载黑名单
nginx·junit·lua
lpfasd1231 小时前
第2部分:Netty核心架构与原理解析
运维·服务器·架构
小蜜蜂爱编程2 小时前
gerrit的部署与配置关联到不同服务器上的git仓库
运维·服务器·git·gerrit
心灵宝贝2 小时前
申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?
linux·运维·服务器
半梦半醒*3 小时前
搭建Jenkins
linux·运维·centos·tomcat·jenkins·运维开发
Wang's Blog4 小时前
Linux小课堂: 系统监控与进程管理之深入解析 w、ps 与 top 命令
linux·运维·服务器
安卓开发者4 小时前
Docker常用镜像使用指南:从入门到实战
运维·docker·容器
Lenyiin5 小时前
《 Linux 点滴漫谈: 三 》掌控终端:让 Shell 成为你的系统魔杖
linux·运维·服务器·lenyiin
杭州泽沃电子科技有限公司5 小时前
钢铁厂运输设备在线监测:构建智能工厂的安全与效率基石
运维·人工智能·智能监测
Lynnxiaowen5 小时前
今天我们学习python编程常用模块与面向对象
运维·python·学习·云计算