1、nginx代理http請求報404或者502
這個類錯誤比較簡單,直接看看配置規則的上游服務器的情況就可以了;其中404的時候,如果有時出現動態的uri拼接靜態資源的情況,這個可以直接reload解決;502的話從提供服務的源服務器開始定位比較好,如果源服務器還沒有開始部署,可以直接寫一個helloword,openresty中可以使用:
location / {
default_type text/html;
content_by_lua_block {
ngx.say("<p>hello, ipv6 world</p></br><p>)
}
}
直接放在server節點下代替服務,問題很明顯了,不然,摸着石頭過河,實在需要實力。
2、location中uri匹配
這個是nginx官方文檔中介紹十分詳細的一個模塊,充分利用好正則,可以事半功倍。
常見的正則問題
a.對於正則表達式的uri,轉發的url後面不可以再加內容,如下
location ~ "^/(s[0-9]{1})/
proxy_pass http://$1;
}
$1後面就不要加內容了,否則報錯但是可以使用,繼續添加內容。
$is_args$args
b.rewrite很好用,可以很好的保護應用程序的真實路徑
c.使用 [^/]+ 可以很好的匹配url裏兩個斜槓間的一段內容