国产探花免费观看_亚洲丰满少妇自慰呻吟_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 時,就會自動幫我們代理到指定端口的服務上去。

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

圖片精選

主站蜘蛛池模板: 张掖市| 调兵山市| 永丰县| 临夏市| 县级市| 绍兴市| 定西市| 新干县| 呼和浩特市| 吴川市| 彝良县| 兴安县| 长垣县| 广州市| 宁晋县| 富顺县| 会同县| 博乐市| 左权县| 越西县| 新巴尔虎右旗| 金沙县| 墨江| 尤溪县| 边坝县| 前郭尔| 连城县| 阳朔县| 大理市| 永昌县| 遵化市| 婺源县| 北川| 平阳县| 武冈市| 长丰县| 交口县| 瓮安县| 阿克苏市| 绥化市| 鲁山县|