2018年9月20日

如何將 Node js X Swagger 架在 IIS


因為,專案需求,要裝 Swagger 架在 IIS 上,以下是需要裝的:


Nodejs X Swagger 怎麼建置,請參考以下文件:
以下是說明如何將可以 Run 的 Swagger,架在IIS上:


主要是裝:
URL Rewrite


iisnode releases


如果安裝成功的話,在
在系統上會看到(如下圖):URL Rewite 藍圈


在IIS > 模組裡面(紅圈),點擊兩下後,可以看到清單,裡面如果出現(下圖),就代表安裝成功:


====================================================


接下來步驟
「新增應用程式集區」>> 建立後  >> 「進階設定」 >> 「識別」 改成  「NetworkService」。




到「處理常式對應」(綠圈) >> 「新增模組對應」 >> 要求路徑填入您要 Run 的  js 檔。




至 Web.config
在 system.webServer 新增字串:app.js 是要 Run js 檔
<rewrite>
     <rules>
       <rule name="myapp">
         <match url="/*" />
         <action type="Rewrite" url="app.js" />
       </rule>
     </rules>
</rewrite>
<iisnode enableXFF="true" />


===========================================================


假這,您的 app.js 檔(在非IIS下可以正常執行)是: 請將原本的 PORT 改成 process.env.PORT
此外,請特別注意 /wfs 的設定,因為通常,我們可能不會將網路直接架在:Default Web Site之下,而是會再去新增 「新增應用程式」所以,/wfs = /別名,以上是特別要注意的。



'use strict';
var express = require('express');
var app = express();
var swaggerUi = require('swagger-ui-express');
var YAML = require('yamljs');
var swaggerDoc = YAML.load('api/swagger/swagger.yaml');/////指定到「此資料夾的」


// ip + '/wfs/api-docs' 會執行以下程式碼。(圖 1)
app.use('/wfs/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDoc));//讀取 yaml 檔


// ip + '/wfs' 會執行以下程式碼。(圖 2)
app.get('/wfs', function (req, res) {
 res.send(‘Server is exist!')
});


app.listen(process.env.PORT);//監聽 port


圖 1



圖 2

沒有留言:

張貼留言