Nginx 中 proxy_pass 路径配置的四种写法的区别 #今天在服务器上做接口代理时,感觉完全迷糊了,我前端接口是这样的 https://example.com/kb/xxx,然后我在 nginx 中这样配置。
location /kb/ { proxy_pass http://172.16.99.20:8070/kb/; } 但是最后结果是转发错误,我以为这样配置是可以不携带/kb 的,于是进行调整,为了方便理解,我做了四个不同方法的测试。
需求场景 #我希望是这样访问:
背景 #今天在公司有点时间,想要试试前端部署的一个完整流程,当然这只是一个简单的 docker+nginx 部署流程。
前端:Vue build 后的 dist 静态文件 后端接口:运行在 172.xx.xx.xx:66xx 图片资源路径:/uploads/** 对外访问端口:不占用现有服务,选择一个不常用端口 运行环境说明 #宿主机 └── Docker └── nginx 容器 ├── 提供 Vue 静态页面 ├── 反向代理 API └── 反向代理图片资源 部署环境 #一、基础准备(Docker 环境) #1. 确认 Docker 是否安装 #docker -v 输出类似:
背景 #在今天工作时碰到了一个非常奇怪的问题:
明明后端接口正常返回了音频文件的访问链接 但在页面或播放器中请求该链接时,直接返回 403 且接口本身无任何异常日志 然后我经过同事的指导:
将 Nginx 配置修改为 user root 时,一切正常 改成普通用户(如 user user)后,音频请求立刻 403 运行环境说明 #宿主机 └── Docker └── nginx 容器 ├── nginx master(root) └── nginx worker(由 user 指令决定) 也就是说: