forget about this, after investigation, I discover it is related with some angular "-" in the url parameter problem.
angular does not allow "-" in url route parameter, it will cause 404 error.
but it does not clearly say the value of the parameter contains problem, and if we add a extra postfix, the problem can be walk around.
it is not related with nginx.