nginx起本地https服务
需求
- 当线上出现了一个bug,只有在App里才能复现,这时我们直接打开App,使用本地代码调试
- 调试验证的时候,App中使用的是https链接,我们本地配置成https,就可以直接在App中调试了
实际上和使用charles的mapRemote是一个作用,区别是线上使用的是https协议,本地是http,没法直接调试。所以可以使用nginx在本地提供https服务。
方法
安装nginx
1 | brew install nginx |
修改配置文件
查看配置文件的位置
1 | nginx -t |
按照如下配置:
1 |
|
创建配置文件
同级servers目录下,创建对应项目的配置文件,比如我现在想对项目名称为expample的项目做映射
创建expample.conf,修改server_name为项目的线上域名,下载证书和密钥到ssl目录下,proxy_pass为本地服务的地址加端口号
1 | server { |
本地配host
1 | 127.0.0.1 项目的线上域名 |
上述的目的是,将发送到线上的请求发送到本地
启动nginx
配置完成之后,如果之前已经启动了nginx,则在命令行运行 sudo nginx -s reload,如果之前没有启动过nginx,则在命令行运行 sudo nginx