nginx不会将外部请求传递给localhost -- nginx 领域 和 proxy 领域 和 java 领域 和 http-status-code-404 领域 和 jetty 领域 服务器管理 相关 的问题

nginx doesn't pass outer request to localhost


1
vote

问题

中文

jetty服务器在localhost上运行:8080和在通过curl(Putty)提出请求时成功响应:

  curl -H "Content-Type: application/json" -X POST -d '{"message":"Hi"}' http://localhost:8080   

我有以下 nginx.conf 配置:

  server{         listen 80;         server_name 52.27.79.132;         root /data/www;         index index.html          # static files: .png, .css, .js...         location /static/ {            root /data/www;         }          location ^~/api/*{             proxy_pass        http://localhost:8080;             proxy_set_header  X-Real-IP $remote_addr;             proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;             proxy_set_header  Host $http_host;         }      }  # include /etc/nginx/sites-enabled/*;   

java servlet运行,当码头服务器获取"/"

浏览器成功返回index.html页面,但是当javascript使ajax-request给' http:///52.27.79.132 / api / '我得到404错误


是否有人知道为什么?

英文原文

Jetty server runs on localhost:8080 and successfully responses when I make requests via curl (putty):

curl -H "Content-Type: application/json" -X POST -d '{"message":"Hi"}' http://localhost:8080 

I have following nginx.conf configuration:

server{         listen 80;         server_name 52.27.79.132;         root /data/www;         index index.html          # static files: .png, .css, .js...         location /static/ {            root /data/www;         }          location ^~/api/*{             proxy_pass        http://localhost:8080;             proxy_set_header  X-Real-IP $remote_addr;             proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;             proxy_set_header  Host $http_host;         }      }  # include /etc/nginx/sites-enabled/*; 

Java servlet runs, when jetty server gets request to "/"

Browser successfully returns index.html page, but when javascript makes AJAX-request to 'http://52.27.79.132/api/' I get 404 error


Does anyone know why ?

              

回答列表

1
 
vote
vote
最佳答案
 

Regex不对您的版本。但是,您实际上并不需要在您的情况下匹配的RegEx匹配,因此您可以使用此版本:

  https://example.com/mydir5  

如果要出于某种原因使用RegEx,则第一行应该如下所示:

  https://example.com/mydir6  

点意味着任何字符和星号表示重复0或更多次。

在您的原始位置线中,您重复了 https://example.com/mydir7 0或更多次。

 

The regex is not right in your version. However, you don't actually need regex matching in your case, so you can use this version:

location /api {     proxy_pass        http://localhost:8080;     proxy_set_header  X-Real-IP $remote_addr;     proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header  Host $http_host; } 

If you want to use regex for some reason, the first line should look like this:

location ^~ ^/api/.* 

The dot means any character and asterisk means repeat 0 or more times.

In your original location line, you repeated / 0 or more times.

 
 
   
   

相关问题

0  nginx + php5-fpm + cifs share + cakephp超时  ( Nginx php5 fpm cifs share cakephp timeout ) 
我最近将我的cakephp 3开发环境移动到网络共享。 所涉及的服务器只有nginx webroot的路径更改( root /var/www/webroot ,到 root /mnt/dev/webroot )。 我正在通过 /etc/fstab 安装CIFS共享,如下所示: //nfs/WebDev /mnt/...

-1  nginx:同一域上的不同网站  ( Nginx different sites on the same domain ) 
我正在研究几个PHP项目,我想在不同的别名上部署在同一个nginx webserver(同名)上的项目。例如: http://localhost/project1, http://localhost/project2 。我认为如果在-avabible和启用的站点中添加多个配置,则可以足够,但它不起作用。另一件事我想要...

0  如何在nginx中设置名为Virtual Hosts?  ( How to setup named virtual hosts in nginx ) 
我想一旦在我的本地浏览器中输入mysite.com即将指出127.0.0.1:8000。 我已经完成了一些研究,似乎是nginx我可以在端口80上设置反向代理,将流量重定向到Django端口8000。 我一直忘了一段时间并做了这些步骤。: sudo vi /etc/nginx/sites-enabled/defa...

0  nginx可以从URL加载证书  ( Is it possible for nginx to load certs from a url ) 
我们托管许多不同的域,目前证书生活在数据库中。在那里的证书中逐渐变得越来越乏味,只有Nginx可以加载它们。 如果我们可以像以下类似的东西会很好: server { server_name www.example.com; listen 443 ssl; ssl_certificat...

0  nginx拆分在多个文件中  ( Nginx split config in multiple files ) 
我还在学习nginx,我遇到了一个问题。 所以之前开始我的项目我正在拆分配置文件的问题。 因此,该想法是拥有一个"主要" 文件,其中服务器配置,示例: server { server_name demo.server.com; include my/custom/location/*.nginx...

1  NGNIX套接字文件中未找到/ TMP和/ var / TMP / UWSGI?  ( Ngnix socket file not found in tmp and var tmp uwsgi ) 
在CentOS 7上,Nginx 1.10.2和UWSGI 2.0.14 当我配置UWSGI以在/ var / tmp / uwsgi或/ tmp中打开套接字时,我从nginx上看一条消息,说它找不到套接字文件: 2017/06/07 16:54:53 [crit] 2642#0: *7 connect() t...

0  如何配置nginx源服务器以返回陈旧的if-error和cache指令?  ( How do i configure an nginx origin server to return stale if error and cache dir ) 
我有一个服务静态站点的nginx服务器(但我也概括了为动态内容工作的配置。 这是原点服务器,而不是代理。我希望nginx服务器用响应 Cache-Control: max-age=… stale-if-error=$MAX_STALENESS stale-while-revalidate=$MAX_STALEN...

0  如何使挖掘荣誉TTLS /使用本地操作系统缓存?  ( How to make dig honour ttls use the local os cache ) 
当我运行 dig example.com 响应回到 SERVER: 192.168.0.1 ,即使在后续运行。这意味着dig始终正在进行网络调用来解析DNS记录。 i(相反,不知情)假设我的操作系统将根据其TTL缓存DNS记录,并且该挖掘将使用该缓存。 dig否则默认忽略ttl /不使用缓存?如果是,我如何让挖掘...

0  编写nginx服务器块以捕获通配符n级子域?  ( Writing an nginx server block to capture wildcard n level subdomains ) 
我正在运行nginx代理服务器,以使用OpenResty / Lua和Letsencrypt自动生成SSL证书,在多租户SaaS平台中。我有许多需要证书的域,而且无法白发性审商它们,因此我的证书服务器接受指向它的所有请求。 我开始看到很多符合域结构的大量无效域请求: www.randomsubdomain.any...

5  在nginx配置文件中,如何定义包含“$”符号的fastcgi_param?  ( In a nginx configuration file how to define a fastcgi param that contains the ) 
我正在尝试为PHP应用程序定义一些环境变量,但其中一个变量包含"$" 符号。当我用 nginx -t 测试配置文件时,我收到一条错误消息,告诉我一个变量不存在。它似乎在"$" 作为变量名称之后解释文本,当然没有定义。 也许我没有在正确的地方搜索,但我找不到有关如何逃避"$" 字符的信息。这是可能的吗? 更新:我试图括...

-1  NGNIX未知指令  ( Ngnix unknown directive ) 
在Amazon EC2上使用Ubuntu。重新启动服务器时,我正在收到此错误消息: unknown directive "ec2-54-201-86-229.us-west-2.compute.amazonaws.com" in /etc/nginx/conf.d/default.conf:3 我正在遵循安...

0  nginx俘虏门户Radius身份验证  ( Nginx captive portal radius authentication ) 
我有多个ruckus接入点,我想为客户身份验证提供自定义俘虏门户。 我想要的是检查用户当前是否有访问 - 然后将他切换到他想要的网站,如果没有 - 显示俘虏门户。 我可以用ngnix和 freeradius ? ...

2  nginx反向代理到LAMP服务器:无法登录PHPMYADMIN  ( Nginx reverse proxy to lamp server cant login to phpmyadmin ) 
我很新的是apache,甚至更新到反向代理,但我最终用nginx(作为反转代理)和apache安装一个服务器,以管理具有不同技术的网站。 PHP网站(下面的PHP_SITE)由Apache处理,Ruby在Rails网站上由Nginx处理。稍后应添加更多网站。一切都在工作正常,除了phpmyadmin。 我的问题:我可...

1  在nginx的proxy_pass中删除一个cookie  ( Removing one cookie in proxy pass of nginx ) 
我正在尝试 proxy_pass 整个请求将我nginx到某些基本URL到另一个上游服务器删除 server cookie。所有其他cookie,HTTP标头,应保存URL本身,发送到上游和响应传回我的客户端。 到目前为止,我尝试了什么在本指南< / a>在nginx论坛上。以下是我的位置指令看起来如何: s...

4  nginx的默认目录?  ( Default directory for nginx ) 
我有Ubuntu 15.04。搜索后,我发现各种链接建议nginx的默认目录 /usr/share/nginx/html 。它看起来是创建的目录,并且已经存在一个 /usr/share/nginx/htmlcdefghijklmn2 文件。我试图添加另一个HTML文件,发现我无法浏览到该位置。然后,我发现了另一个链接...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.