server {
listen 80;
server_name localhost;
location / {
index index.html;
root /Users/Lin/Codes/JS/Emberjs/yeoman-ember/dist;
}
location ~* ^/json {
root
proxy_pass http://localhost:9292;
}
}
configure kinda有效,但只传递
localhost:9292/json
至localhost/json
。
但我想要的是
localhost:9292/json
到'localhost'
localhost:9292/json/post
到'localhost / post'
我认为我需要做的是设置root或做一些重写,任何人都有一些想法?
答案 0 :(得分:0)
如果要将所有连接从端口9092传递到80,则表示您正在侦听错误的端口。
更改您正在收听的端口9092:
server {
listen 9092;
server_name localhost;
root /Users/Lin/Codes/JS/Emberjs/yeoman-ember/dist;
location / {
index index.html;
}
location ~* ^/json {
proxy_pass http://localhost:80;
proxy_set_header X-Real-IP $remote_addr;
}
}
尽量避免在位置块内使用root,这是常见的陷阱,如nginx documentation
中所述此外,您还需要配置另一台服务器来侦听端口80。