我須要配置Nginx轉發到阿里雲的OSS下載文件。一開始我按照這樣的配置服務器
proxy_pass http://tlwl-file.vpc100-oss-cn-beijing.aliyuncs.com/$dir/${mailno}.pdf阿里雲
結果錯誤日誌一直顯示「tlwl-file.vpc100-oss-cn-beijing.aliyuncs.com could not be resolved (110: Operation timed out) while sending to client」。我本身 ping也是能夠ping通的。一直想不明白爲何Nginx就不能解析這個域名了。後來才發現Nginx是本身的解析域名。因而我在Nginx的開頭加上 resolver 8.8.8.8; 重啓同樣的效果。我本身ping8.8.8.8結果才發現本身的ECS根本不能上網。因而我把resolver設置爲cat /etc/resolv.conf 的一個域名服務器。重啓就正常了日誌
另外我還想到既然你不能解析域名那我就直接寫IP,proxy_pass http://123.123.123.123/$dir/${mailno}.pdf 。結果發現OSS禁止IP訪問,因而加上頭域名
proxy_set_header Host tlwl-file.vpc100-oss-cn-beijing.aliyuncs.com 便可。io