我遇到了一个问题。我想要打 http://localhost/api/hello/somename
现在某个名字可能是任何山姆或菲尔,
现在我的nginx配置文件在下面。
server {
listen 80 default_server;
server_name _;
location ~ ^/api/(.*)$ {
proxy_pass http://localhost:8081/api/hello/$1;
}
}
我哪里错了?你能帮我解决一下吗?实际上8081容器正在运行。
答案 0 :(得分:0)
/
应该被转义
.*
是什么。如果你知道应该有名字,并且他们之间有/
说出来
^https?:\/\/\w+\/api(?:\/\w+)*$
http
或https
然后:
然后//
,然后是一个词,然后/api
,然后可能是/word
答案 1 :(得分:0)
你不需要这么复杂。你可以像下面这样简单
server {
listen 80 default_server;
server_name _;
location /api/ {
proxy_pass http://localhost:8081/api/;
}
}
这应该将以/api
开头的任何内容传递给http://localhost:8081/api/
,并在/api/
后附加请求uri