通常,当我使用 http://127.0.0.1/apiset/some_dynamc_string 并获得json文件时。
/ apiset / 是我的应用程序所在的目录。 “ some_dynamc_string”是一个动态请求字符串。我将nginx安装到我的ubuntu 18.04。当我运行 http://cep.myname.com 时,我的域名是cep.myname.com,我得到了默认的nginx页面。
我将 / etc / nginx / sites-available / default (我也将网站设置为启用)配置为;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name cep.myname.com;
location / {
proxy_pass http://127.0.0.1:8888/;
}
}
我收到 404 错误。我需要我的用户将“ some_dynamc_string”发送为:
http://cep.myname.com/apiset/some_dynamc_string
我需要使用proxy_pass,以便可以将“ / apiset / some_dynamc_string” 发送给我的后端,
http://127.0.0.1:8888/apiset/some_dynamc_string;
我该怎么做?如上所述,如何根据动态网址参数配置nginx proxy_pass?
When I use error_log with debug I get this:
2018/10/10 08:28:23 [error] 19170#19170: *3 open() "/usr/share/nginx/html/apiset/some_dynamc_string" failed (2: No such file or directory), client: 12.11.10.10, server: localhost, request: "GET /apiset/some_dynamc_string HTTP/1.1", host: "cep.myname.com"
我想我的问题从这里开始:在“ / usr / share / nginx / html / apiset / some_dynamc_string”中,我没有“ / apiset / some_dynamc_string”。我只有index.html默认的nginx html文件。 “ apiset / some_dynamc_string”用于我的后端服务器。
客户发送此邮件时:http://cep.myname.com/apiset/some_dynamc_string 它重定向到“ / usr / share / nginx / html / apiset / some_dynamc_string”。我需要配置为发送到“ http://127.0.0.1:8888/apiset/some_dynamc_string”
答案 0 :(得分:0)
好的。我找到了。我在可用的站点和启用的站点中使用default.conf。这是修改default.conf的错误位置。正确的路径是在conf.d目录中修改default.conf。
1) install nginx
2) run:
nginx -v
(nginx version: nginx/1.15.5)
3) sudo nano /etc/nginx/conf.d/default.conf
server {
listen 80;
listen [::]:80;
error_log /var/log/nginx/your_domain_name.error.log debug;
rewrite_log on;
server_name your_domain_name;
location / {
proxy_pass http://127.0.0.1:8888/;
}
}
4) sudo systemctl reload nginx
5) sudo systemctl restart nginx
6) sudo nginx -t
7) curl http://your_domain_name/