美文网首页http饥人谷技术博客
五、配置 nginx 反向代理 nodejs 端口

五、配置 nginx 反向代理 nodejs 端口

作者: 辉夜乀 | 来源:发表于2017-12-05 09:04 被阅读14次
    上一章,我们使用 pm2 让 node 服务跑在了进程中,关闭命令行也能持续让服务器运行了,但是,在浏览器中,我们输入 url 的端口号是 8888,并不是默认的 80 端口,这样不方便。使用 Nginx 反向代理能解决这个问题。 image

    安装 Nginx

    sudo apt-get install nginx
    
    //中间要输入 y 确认
    
    nginx -v    //查看 nginx 版本,确认安装成功
    
    image

    添加配置文件

    cd /etc/nginx/conf.d    //进入配置文件的目录
    
    sudo vi chengong-shop-8888.conf     
        //新增配置文件,这里的命名习惯是把域名、端口号作为配置文件名,一目了然
    

    添加配置参数

    upstream chengong {
      server 127.0.0.1:8888;
    }
    
    server {
      listen 80;
      server_name 47.94.198.140;
    
      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://chengong;
        proxy_redirect off;
      }
    }
    

    测试 nginx 配置文件

    sudo nginx -t
    
    测试成功 image

    重启 nginx 服务

    sudo nginx -s reload
    

    验收成果

    在浏览器输入 ip 地址 47.94.198.140 发现可以访问,不需要通过 8888 端口了,可以通过默认的 80 端口访问。

    image

    查看 network 的服务器返回的 Headers

    image

    可以看到 nginx 的版本信息为 1.4.6(Ubuntu),我们想把版本信息隐藏怎么做呢?

    隐藏 Response Headers 里的 nginx 版本信息

    sudo vi /etc/nginx/nginx.conf
    
    //去掉注释,文件里的 server_tokens off,
    
    image 去掉注释符号,使这一条生效 image

    重启 nginx 服务

    sudo service nginx reload
    

    现在我们再去看 Response Headers 里的 nginx 版本信息,可以发现,版本信息隐藏了

    image

    总结:通过 nginx 反向代理,可以隐藏端口号,通过默认的 80 端口访问。修改 nginx 配置隐藏了 Response Headers 里的版本信息 ,接下来下一章我们就把这串数字 ip 更换成购买的域名

    相关文章

      网友评论

        本文标题:五、配置 nginx 反向代理 nodejs 端口

        本文链接:https://www.haomeiwen.com/subject/fvrqixtx.html