NGINX转发请求

时间:2018-09-28 16:54:11

标签: nginx

我已经设置了NGINX服务器,我想接受一个请求并将其转发到TCP端口上的另一个应用程序。

假设我具有以下JSON负载

LengthAwarePaginator

这是在如下查询参数中发送的

{
 "someKey1": 1234,
 "someKey2": "a string"
}

是否可以使用NGINX将JSON有效负载本地转发到TCP端口1234?

此外,在将上述有效负载转发到TCP端口1234之前,我可以对其进行任何预处理吗?例如,我想将上述JSON隐蔽为

https://mywebsite.com?payload=%7B%0A%20%22someKey1%22%3A%201234%2C%0A%20%22someKey2%22%3A%20%22a%20string%22%0A%7D

然后将这些数据转发到TCP端口1234

我想知道,我必须使用诸如springboot之类的东西来创建某种REST端点,但是如果可能的话,我真的很想尝试使用NGINX来完成上述任务。

2 个答案:

答案 0 :(得分:1)

Nginx的主要用途是HTTP服务器/代理。 可以通过ngx_http_lua_module编写脚本,但是对于您的任务,制作一个将侦听HTTP并转发您的自定义协议的应用程序/微服务,或者修改您侦听所提到的端口以理解HTTP的应用程序,要简单得多。

当端点使用HTTP时-nginx可用于路由:

location /some_path/ {
  proxy_pass http://localhost:1234/;
}
location /some_other_path/ {
  proxy_pass http://localhost:1235/;
}

答案 1 :(得分:0)

NGINX是简单的Web服务器,它接受HTTP请求并将其转发到配置的位置(可以是应用程序服务器或任何其他Web服务器),然后通过HTTP响应给请求者。无法在NGINX内部处理数据。

您可以在NGINX安装目录的default目录下的sites-available文件中配置转发规则。

Here是NGINX配置的不错的教程,可能会对您有所帮助。