Nginx 反向代理静态资源(更改访问路径)

时间:18-11-06 来源: 作者: 点击:

l.jpg

一、需求1、基本说明

适用于网站基于 ThinkPHP、Laravel等将入口放在 public下的框架开发的网站。

网站的入口文件为 public , 但 static 等静态文件的访问是

使用 Nginx 反向代理就会出现问题。

网站使用 Nginx + Apache 构建服务器,通过 Nginx 反向代理请求。

之前为了方便,我在 Nginx 配置中 虚拟主机配置站点的 root 为 root /data/www/public/

这样静态资源的请求会直接进入 public 中,初步解决了 nginx 反向代理导致的静态资源无法加载的问题。

2、出现问题

由于我是全站 HTTPS , 使用 Let's Encrypt ,导致 .well-known 就无法正常访问,导致无法续约证书。

这种情况下我只能再次修改回原来的 root 配置。因此 静态资源依旧无法加载。

二、解决1、 基本说明

我的 静态资源的目录结构是:

---public ---static ---images ---js ---css ---uploads

存在问题 无法加载任何 public 下的静态资源,包括 static 和 uploads 中的

2、 修改反向代理配置单独修改 nginx 配置中 对 /static/ 和 /uploads/ 的访问路径 location ^~ /static/ { root /data/www/public/; include proxy.conf; } location ^~ /uploads/ { root /data/www/public/; include proxy.conf; }

这样 我将 以 /static/ 开头的请求全部更改一下 root.

而我的 .well-known 的访问不会有任何的问题,ssl证书续约就没问题了

声明:本文由(Nginx运维与架构)版权所有,禁止转载,文章链接:http://www.nd9p.com/12616.html