Thinkphp5设置反代理

目的:节省OSS外网访问流出流量

购买了阿里云OSS的存储资源包后,发现还需要外网访问流出费用,内网访问是免费的。

百度得相关方法,即设置反向代理。前提是服务器和OSS存储桶需要属于同一个地区。

一、环境

服务器环境 Nginx 1.20.2+MySQL 5.6.50+PHP-7.1

使用宝塔管理服务器

比如 服务器IP:140.140.140.140

网站地址:a.baidu.com

二、阿里云OSS设置

1、前提服务器所属地与OSS中存储桶位置需一致:

(只要两者都属于同一区域就可以,不同账号购买的服务器和OSS也可以)

(此处设置的权限是为了跨域读写)

2、将该存储桶绑定到需要用于访问的域名,比如: oss.baidu.com

 3、解析需要访问OSS的域名(比如:oss.baidu.com)到网站服务器(比如140.140.140.140)

三、服务器配置(即在宝塔中配置)

 

1、将解析好的域名(比如:oss.baidu.com)绑定到网站目录

(注意此处就直接绑定到网站根目录就行,不需要绑定到public目录下)

2、不设置伪静态

(当前域名不需要用于访问,故不需要伪静态,若设置了伪静态,则宝塔中就无法设置反向代理)

3、设置反向代理

4、效果

 

 

 四、遇到的问题

 1、网站域名因为设置了伪静态,故设置反向代理时,报错:

 伪静态/nginx主配置/vhost/文件已经存在全局反向代理

报错原因

1>存在伪静态

2>nginx的配置文件中,存在以下配置

location / {
   if (!-e $request_filename){
      rewrite  ^(.*)$  /index.php?s=$1  last;   break;
   }
}

 

 2、投机取巧的先清除伪静态(nginx的配置文件中无全局代理的配置),设置反向代理后,在设置伪静态

这样操作后,伪静态就无法设置了,整个网站就无法打开了

3、网站根目录指向了public后,打开网站链接地址(所有的链接地址)都会跳转到install.php.

此处我的处理方式是,直接删掉网站(不删除文件目录、FTP、数据库),重新创建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值