nodejs逆エージェント-geoserverの例
前に述べましたが、geoserverはドメインをまたぐ問題が発生します.開発に不便があります.tomcatの設定がドメインをまたぐことを許可するのも面倒くさいです.逆代理はいい選択です.inxを言わないで、nodejsについて話します.
話を多くしないで、直接コードをかけます.
ルートはgeoserverをブロックして、コードで示したように設定されたアドレスに転送します.例えば、本例のnodeは、ポート
アクセス
注:このプロキシはgeoserver各種サービスにアクセスしても大丈夫ですが、ログインできません.つまり
ここはgeoserverの代理です.他はそのままヒョウタンを描くことができます.もっと多くの配置項目はhttp-proxy-middlewareに訪問できます.
最後に、完全な例コードをクリックして確認することができます.
話を多くしないで、直接コードをかけます.
const express = require('express');
const router = express.Router();
const proxy = require('http-proxy-middleware');
//
router.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By",' 3.2.1');
next();
});
const proxyOption = {
target: 'http://10.10.52.120:8080',
// pathRewrite: {
// '^/req/geoserver/' : '/geoserver/' // ,req/geoserver/ /geoserver/
// },
changeOrigoin:true
};
router.use('/geoserver',proxy.createProxyMiddleware(proxyOption))
module.exports = router;
コードにはExpressが使用されていますが、エージェントはhttp-proxy-middleware
を使用しています.ルートはgeoserverをブロックして、コードで示したように設定されたアドレスに転送します.例えば、本例のnodeは、ポート
57776
をローカルに有効化している.アクセス
http://localhost:57776/geoserver/sf/wms?service=WMS&version=1.1.0&request=GetMap&layers=sf%3Aarchsites&bbox=589851.4376666048%2C4914490.882968263%2C608346.4603107043%2C4926501.8980334345&width=768&height=498&srs=EPSG%3A26713&format=application/openlayers
実際転送:http://10.10.52.120:8080/geoserver/sf/wms?service=WMS&version=1.1.0&request=GetMap&layers=sf%3Aarchsites&bbox=589851.4376666048%2C4914490.882968263%2C608346.4603107043%2C4926501.8980334345&width=768&height=498&srs=EPSG%3A26713&format=application/openlayers
元々は10.10.52.120:8080
上のgeoserverはドメインをまたぐことができませんでしたが、node転送を通じてlocalhost:57776
に両替するだけでアクセスできます.注:このプロキシはgeoserver各種サービスにアクセスしても大丈夫ですが、ログインできません.つまり
http://localhost:57776/geoserver/web
にアクセスした後、アカウントのパスワードを入力してログインできません.解決待ちです.ここはgeoserverの代理です.他はそのままヒョウタンを描くことができます.もっと多くの配置項目はhttp-proxy-middlewareに訪問できます.
最後に、完全な例コードをクリックして確認することができます.