自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

配置Nginx訪問阿里云OSS資源踩坑之路

開發(fā) 前端
Nginx到OSS的代理工作正常,但請(qǐng)求的文件在OSS中不存在或路徑不正確。仔細(xì)檢查了下路徑是對(duì)的,這說明我們Nginx寫法有問題,到OSS那邊的確是沒有 static/test/1.png 這個(gè)文件,所以我們需要在Nginx里加個(gè)配置去掉 static 前綴。

朋友那邊有個(gè)需求要在阿里云OSS上綁定一個(gè)自定義的域名,但是此域名已經(jīng)在DNS解析那邊有了A記錄,OSS綁定域名需要在DNS解析那邊加個(gè)CNAME,這樣就沖突了。但是朋友那邊就一定要使用這個(gè)域名,想了想也只能通過Nginx的一個(gè)二級(jí)目錄來(lái)反向代理這個(gè)OSS了。

話不多說,我先配置了如下:

http {
    # ... 其他全局配置 ...


    upstream oss_backend {
        server <OSS_ENDPOINT>; # OSS訪問內(nèi)網(wǎng)域名
        keepalive 32; # 保持連接數(shù),可按需調(diào)整
    }


    server {
        listen 80; # 或者 listen 443 ssl; 如果使用HTTPS
        server_name apitest.xxxx.com; # 域名


        location /static {
            proxy_pass http://oss_backend; # 代理到OSS
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
}

很常用的一個(gè)反向代理oss,然而當(dāng)我?問對(duì)應(yīng)oss里的靜態(tài)資源的時(shí)候,錯(cuò)誤提示:

<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<RequestId>613A63CA4771F3ddds602364</RequestId>
<HostId>apitest.xxxx.com</HostId>
<Key>static/test/1.png</Key>
<EC>0026-0000001</EC>
<RecommendDoc>https://api.aliyun.com/troubleshoot?q=0026-00000001</RecommendDoc>
</Error>

Nginx到OSS的代理工作正常,但請(qǐng)求的文件在OSS中不存在或路徑不正確。仔細(xì)檢查了下路徑是對(duì)的,這說明我們Nginx寫法有問題,到OSS那邊的確是沒有 static/test/1.png 這個(gè)文件,所以我們需要在Nginx里加個(gè)配置去掉 static 前綴。

改正之后的具體配置如下:

location /static {
    rewrite ^/static(/.*)$ $1 break; # 去掉"/static"前綴
    proxy_pass http://oss_backend;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

我們使用 rewrite 指令去除請(qǐng)求路徑中的/static前綴,然后再將處理后的路徑傳遞給 proxy_pass 指令。

這樣,訪問 https://apitest.xxxx.com/static/k1.png 時(shí),Nginx就會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到 http://oss_backend/k1.png,OSS將查找Object鍵(Key)為 /k1.png 的文件。

測(cè)試可行。

責(zé)任編輯:武曉燕 來(lái)源: 運(yùn)維筆談
相關(guān)推薦

2018-12-18 14:13:30

SDKAndroid開發(fā)

2021-07-28 14:37:57

WKWebviewh5網(wǎng)絡(luò)

2013-01-08 14:51:49

阿里云開放存儲(chǔ)OSS

2021-06-09 08:21:14

Webpack環(huán)境變量前端

2017-12-05 12:44:57

Android沉浸式狀態(tài)欄APP

2020-09-15 08:46:26

Kubernetes探針服務(wù)端

2023-01-18 23:20:25

編程開發(fā)

2022-04-08 08:40:36

Nginx日志服務(wù)器

2017-05-05 08:12:51

Spark共享變量

2021-10-28 19:10:02

Go語(yǔ)言編碼

2023-02-20 08:11:04

2013-07-25 10:28:31

阿里云阿里云SLB故障

2024-05-27 00:00:00

PHP阿里云OSS

2024-04-10 08:39:56

BigDecimal浮點(diǎn)數(shù)二進(jìn)制

2021-09-03 11:15:18

場(chǎng)景sql配置

2024-04-01 08:05:27

Go開發(fā)Java

2017-07-17 15:46:20

Oracle并行機(jī)制

2021-05-27 22:46:00

Nacos Clien版本Nacos

2023-09-22 11:29:11

JavasubList

2021-10-15 06:49:37

MySQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)