不用nginx如何实现代理本地3000端口?

nginx 可以通过如下配置 http://example.com/api/ 访问服务器的3000端口 ,

三个问题:

1.如果不用 nginx 该怎么实现同样功能?
2.或者说 nginx 出现之前是怎么做的,
3.nginx 主要作用是什么?

图片描述

阅读 5.1k
4 个回答

我一直是用 Niginx,如果不用 Nginx 我想应该是自己运行一个应用监听80端口然后转发请求,这样的话实际跟 Nginx 是一回事。

Nginx 是一个反向代理,最基本的用途通俗点理解就是像你这里写的,它监听80端口,根据域名规则转发请求。

除了转发请求外它还能做很多事,你可以把它理解为服务器的门房秦大爷,它收到请求后就根据规则做一系列相应的处理。在处理完后,有时会把请求继续交给后面的应用去处理,有时它自己直接就返回了。

对 Node.js 来说 Nginx(反向代理)不是必须的,对某些应用比如 PHP 就是必须的。

Haproxy,其实原理跟nginx差不多,如果自己要在代码层实现,就得实现一个tcp代理的功能了

因为你是一个子路径反向代理一个端口,则必须有支持反向代理的软件。
nginx肯定可以,其实apache也可以配置出来(虽然性能不一定这么好),吃完squid也可以配置出来。
当然Haproxy也可以。
其实这里需要着重理解的是最终效果 是一个反向代理(子路径到服务端口的映射),具体的配置(实现)还要看具体环境。

不用nginx就是用其他的啊。。。各种代理软件或是web服务器都是带代理功能的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题