2017-08-31 87 views
0

我堅持一個問題。我試圖打 http://localhost/api/hello/somenameNginx的正則表達式和通配符的位置

現在somename可以是任何東西SAM或十字,

目前Nginx的我的配置文件如下。

server { 
    listen 80 default_server; 
    server_name _; 
    location ~ ^/api/(.*)$ { 
    proxy_pass  http://localhost:8081/api/hello/$1; 
    } 

} 

我在哪裏錯了?你能幫我解決嗎?其實在8081容器正在運行。

+0

(。*)匹配「你好/ somename」路過這裏的東西開始/apihttp://localhost:8081/api/,與請求URI。您正在代理http:// localhost:8081/api/hello/hello/somename。 –

回答

0

/應該逃過
.*是什麼。如果你知道應該有名字和他們之間/

^https?:\/\/\w+\/api(?:\/\w+)*$ 

httphttps然後:然後//,然後一個字,然後/api,那麼也許有些/word

test

0

你不不需要使它變得複雜。你可以只那麼簡單,它下面

server { 
    listen 80 default_server; 
    server_name _; 
    location /api/ { 
    proxy_pass  http://localhost:8081/api/; 
    } 

} 

,並應經過/api/附加