国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

node.js使用 http-proxy 創建代理服務器操作示例

2024-05-06 15:44:20
字體:
來源:轉載
供稿:網友

本文實例講述了node.js使用 http-proxy 創建代理服務器操作。分享給大家供大家參考,具體如下:

代理,也稱網絡代理,是一種特殊網絡服務,允許一個終端通過代理服務與另一個終端進行非直接的連接,這樣利于安全和防止被攻擊。

代理服務器,就是代理網絡用戶去獲取網絡信息,就是信息的中轉,負責轉發。

代理又分 正向代理 和 反向代理:

正向代理:幫助局域網內的用戶訪問外面的服務。 反向代理:幫助外面的用戶訪問局域網內部的服務。

一、安裝 http-proxy

npm install http-proxy --save

二、代理本地服務

const http = require('http');const httpProxy = require('http-proxy');//創建一個代理服務const proxy = httpProxy.createProxyServer();//創建http服務器并監聽8888端口let server = http.createServer(function (req, res) {  //將用戶的請求轉發到本地9999端口上  proxy.web(req, res, {    target: 'http://localhost:9999'  });  //監聽代理服務錯誤  proxy.on('error', function (err) {    console.log(err);  });});server.listen(8888, '0.0.0.0');

9999端口服務代碼:

const http = require('http');http.createServer(function (req, res) {  res.end('port : 9999');}).listen(9999, '0.0.0.0');

當們在本地訪問 8888 端口時,proxy 會幫我們把請求代理到 9999 端口服務,然后返回數據。

二、通過host實現多個虛擬主機,共用一個端口

const http = require('http');const httpProxy = require('http-proxy');//創建一個代理服務const proxy = httpProxy.createProxyServer();//虛擬主機const hosts = {  'www.a.me': 'http://localhost:8888',  'www.b.me': 'http://localhost:9999',};//創建http服務器并監聽80端口let server = http.createServer(function (req, res) {  //獲取主機名  let host = req.headers['host'];  host = host.split(':')[0];  //根據主機名,找到要代理的服務  let target = hosts[host];  if (target) {    proxy.web(req, res, {      target: target    });    proxy.on('error', function (err) {      console.log(err);    });  } else {    res.end('end');  }});server.listen(80, '0.0.0.0');

8888.js服務代碼:

const http = require('http');http.createServer(function (req, res) {  res.end('port : 8888');}).listen(8888, '0.0.0.0');

9999.js服務代碼:

const http = require('http');http.createServer(function (req, res) {  res.end('port : 9999');}).listen(9999, '0.0.0.0');

注意 www.a.me 和 www.b.me 這兩個域名需加入 C:/Windows/System32/drivers/etc/hosts 文件中。

127.0.0.1 www.a.me
127.0.0.1 www.b.me

當我們訪問 www.a.me 或 www.b.me 時,就會自動幫我們代理到指定端口的服務上去。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 利川市| 巫山县| 新泰市| 漠河县| 江津市| 喀喇| 博爱县| 宜川县| 东平县| 冷水江市| 英吉沙县| 萨嘎县| 广河县| 子洲县| 丹巴县| 新余市| 哈尔滨市| 土默特左旗| 贵阳市| 鹰潭市| 德阳市| 玉溪市| 吉林市| 泽普县| 盱眙县| 彭阳县| 白水县| 岫岩| 金沙县| 金阳县| 兴义市| 云梦县| 阳谷县| 哈尔滨市| 阿瓦提县| 樟树市| 云和县| 五指山市| 瑞金市| 儋州市| 黄平县|