前言
最近网站打算把静态资源都搬回国内,包括图片。现在为了迁移方便,打算想使用的是腾讯的cos储存,正好halo有s3插件,刚好可以直接上传。但是没钱直接使用是个问题。
因此,我打算直接用腾讯云同地区轻量机子反代走内网,使用轻量机子的宽带出口,虽然速度没有直接用cos快(速度就是你轻量服务器的带宽)。但是胜在便宜。(流量成本几乎为零,并且不用担心被刷)
问题
反代配置好halo上传后,发现可以正常上传文件,但是无法访问资源。
查了很久,网上都没有答案。最后直接找到我之前配置过的反代配置发现是请求host的问题。
location ^~ / {
proxy_pass https://xxxxxx.cos.ap-guangzhou.myqcloud.com;
proxy_set_header Host xxxxxx.cos.ap-guangzhou.myqcloud.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
add_header X-Cache $upstream_cache_status;
}
这是修改后的反代设置,主要问题是proxy_set_header Host
之前是${host}
也就是你当前的域名,但是这样是不可以的,将其修改成你cos的域名即可。
现在就可以看见,能够正常访问了。