6、配置nginx实现反向代理nodejs端口

通过nginx把80端口的请求都转发到nodejs的8081端口

默认情况下服务器可能会自带apache服务占用80端口,所以我们需要先尝试把apache删掉
1、删除系统中的apache服务

update-rc.d -f apache2 remove
sudo apt-get remove apache2
image.png

2、更新系统中包列表

sudo apt-get update

3、安装nginx

sudo apt-get install nginx

4、编写配置文件

cd /etc/nginx/conf.d/
sudo vim xiaoke-com-8081.conf

配置文件内容:

upstream xiaoke {
  server 127.0.0.1:8081;
}

server {
  listen  80;
  server_name  47.52.28.218;
  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Nginx-Proxy true;
    proxy_pass http://xiaoke;
    proxy_redirect off;
  }
}

回到上层目录:cd /etc/nginx/
5、将当前目录下的nginx.conf文件下的

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

这两行取注。
6、检测nginx配置文件是否成功:

sudo nginx -t

7、重启nginx服务

sudo nginx -s reload

8、通过nginx的转发,现在ip地址的默认80端口已经可以直接访问8081端口的node服务,是不是非常神奇。


其他方面:

我们在浏览器中查看这次请求:



我们可以在这个请求的请求头中看到服务器为“nginx/1.4.6”,操作系统为“ubuntu”。这种隐私信息暴露出来是有问题的,我们需要把它隐藏掉:

//进入nginx目录
cd /etc/nginx/
//编辑配置文件
sudo vim nginx.conf

将server_tokens off;这一行取注



将nginx重载:

sudo service nginx reload

这时候请求头上的信息就不那么透明了:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 32,862评论 24 1,002
  • 上一篇《WEB请求处理一:浏览器请求发起处理》,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建...
    七寸知架构阅读 81,429评论 21 356
  • 配置运行Nginx服务器用户(组) 用于配置运行Nginx服务器用户(组)的指令是user,其语法格式为: use...
    吃瓜的东阅读 9,989评论 0 41
  • 昨晚在家里看着空荡荡的这些花瓶,想起以前有人曾经说过,她不爱买花瓶,因为它是易碎品,就象是有些钟情是昂贵的,所以她...
    雅俗儿的手帐阅读 3,294评论 4 7