zoukankan      html  css  js  c++  java
  • [Node] Setup an Nginx Proxy for a Node.js App

    Learn how to setup an Nginx proxy server that sits in front of a Node.js app. You can use a proxy to control the flow of frontend requests hitting your app, as well as to achieve better performance and scalability. We'll create a sample Node.js app and configure a default Nginx configuration file to proxy web requests.

    Create a node app:

    // Load the http module to create an http server.
    var http = require('http');
    
    // Configure our HTTP server to respond with Hello World to all requests.
    var server = http.createServer(function (request, response) {
      response.writeHead(200, {"Content-Type": "text/plain"});
      response.end("Welcome to Node.js!
    ");
    });
    
    // Listen on port 3000, IP defaults to 127.0.0.1
    server.listen(3000);
    
    // Put a friendly message on the terminal
    console.log("Server running at http://127.0.0.1:3000/");

    The app running on port 3000.

    Run the node app:

    node index.js

    See the output:

    curl localhost:3000

    We will see:

    Welcome to Node.js!

    Now, start the nginx:

    service nginx start

    Varifiy nginx started:

    curl localhost // by default nginx running on port 80

    We will see the default nginx html.

    Modify the nginx config in '/etc/nginx/sites/enabled/default':

    server {
        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_pass http://localhost:3000;
        }
    }

    Restart nginx:

    service nginx reload

    now do:

    curl localhsot

    Previously we saw the default nginx page, now we should see our node app's output. That means our nginx poxy works, it successfully redirect localhost:80 to localhost:3000.

  • 相关阅读:
    excel 读取
    MSDN异步编程概述 [C#] zzhttp://www.cnblogs.com/hxhbluestar/articles/60023.html
    window.opener showModelessDialog showModalDialog 获取|控制父窗体的区别
    MySql中文乱码解决方法
    关于随机数
    javascript 日期处理(注意事项)
    一个简单访问office程序的控件,不依赖officedll
    关于12306的bug
    回车提交
    js动态添加外部js(顶)
  • 原文地址:https://www.cnblogs.com/Answer1215/p/7218426.html
Copyright © 2011-2022 走看看