跳到主要內容

IIS10 前端服務器,設置代理實現跨域請求後端接口

摘要

本文介紹IIS10通過安裝ARR 3.0(Application Request Routing),配置Application Request Routing Cache開啟代理,配置URL Rewrite創建匹配規則,實現前端跨域請求API功能。即訪問http://localhost:8001/api/list,實際會被代理到http://localhost:8002/api/list 。
## 原请求
http://localhost:8001/api/list   

## 实际代理到后端服务
http://localhost:8002/api/list

服務器環境

IIS 前端服務器
IIS服務器創建一個端口為8001的網站,目錄下有一個test.html,請求接口地址為“ /api/get.json ” 。訪問地址為:http://localhost:8001/test.html 。
Node.js 後端服務器
使用http-server開啟一個端口為8002的服務器,” api “目錄下一個JSON文件get.json,訪問地址為:http://localhost:8002/api/get.json 。

一. 安裝ARR 3.0(Application Request Routing)

訪問IIS官方網站:https://www.iis.net/downloads/microsoft/application-request-routing,有兩種安裝方式。
  • 通過Web平台安裝程序(Web Platform Installer):直接點擊“ Install this extension ”按鈕即可。
  • 下載包安裝:x86 installer / x64 installer
# 重启 IIS
iisreset

二.配置Application Request Routing Cache

1、安裝成功後,IIS管理裡會看到多出一個圖標“ Application Request Routing Cache “,點擊進去進行配置。
2、進去後,點擊Server Proxy Settings
3、在設置頁面,勾選Enable proxy, 。
4、應用保存剛才設置。

三. 配置URL 重寫(URL Rewrite)

1、進入IIS 網站管理,可以看到多出一個URL 重寫(URL Rewrite) 的圖標。
2、進入URL重寫(URL Rewrite),點擊“ 添加規則 ”。
3、進入添加規則彈窗,點擊“ 空白規則 ”。
4、配置規則:
# 模式(T)
^(.*?)/?api/(.*)$

# 重写 URL(L)
http://localhost:8002/{R:0}  
即8001端口的前端服務器,訪問路徑中包括/api/的請求,會被代理到8002端口的後端服務器。
5、應用保存配置。

測試

訪問前端服務器:http://localhost:8001/test.html ,可以看到接口訪問地址(http://localhost:8001/api/get.json)狀態碼是502
這是因為還沒開啟後端服務器,讓我們開啟再試一下。
現在刷新前端頁面(http://localhost:8001/test.html),可以看到接口請求已經成功。
再回到後端服務器,查看日誌,可以看到剛才有一條GET 請求記錄,證明剛才8001 端口服務器的請求,已經成功代理到8002 端口服務器的了。

結語

IIS 配置偏圖形化,按理講應該更友好一些,但事實是增添了很多操作步驟,比起Nginx 的幾行配置文件,實際體驗反而復雜許多。

參考資料

留言

這個網誌中的熱門文章

壓縮包裡的"__MACOSX"是什麼?

在網上下載到一些資料,有的解壓後就發現有這麼__MACOSX文件夾,MAC,蘋果的,再聯想....呵,就想到這吧,在網上搜索了下才明白(其實再繼續聯想下沒準就猜中了呢): MacOS作為他們的開發環境。例如,許多來自領先的網絡框架組織的核心人物選擇Mac作為開發平台,也有許多Wordpress的插件、模板作者在Mac上開發作品。 在Mac裡面壓縮目錄是一件十分輕鬆的事,你只需要在目錄上點擊右鍵選擇“壓縮為…”即可,開發者就可以把這個壓縮包上傳到網上供人下載。但是有一個問題,蘋果公司和其它的大的軟件公司一樣,十分擅長曲解和附會用戶的意思,它很多時候並不是完全按照你的意思去做的。例如在這種情況下,你以為Mac僅僅是把你想要的東西添加進壓縮包了嗎?不是這樣的,蘋果在壓縮文件的同時,還往裡面寫入了一些”MetaData”,這樣做的目的是為了方便其它的Mac用戶使用(就像Windows會在圖片目錄下加入的Thumbs.db以方便顯示預覽圖一樣)。 這些MetaData產生的文件就是”__MACOSX”,本身這些文件在Mac系統上是隱藏屬性的,也的確方便了用戶的操作。但是插件、模板等作品是要讓很多人使用的,這裡面大部分人都是Windows操作系統,而Windows又是從不鳥蘋果的,__MACOSX就成了垃圾文件。 如果你是一名插件、模板作者,或者對這些文件很反感,可以使用CleanArchiver這款小軟件來壓縮你的目錄和檔案。 CleanArchiver支持gzip、bzip2、zip、Disk Image、StuffIt和StuffIt X等多種格式,只要在CleanArchiver的窗口裡限選鼎好你想要的壓縮格式,然後把要壓縮的目錄和文件拖拽到CleanArchiver的窗口裡,最後確定一下存放位置和名稱,CleanArchiver就會幫你壓縮出一個沒有__MACOSX的壓縮文件了。 資料來源地: http://musicbay.org.ru/archives/64

mac蘋果電腦實現錄製系統內聲音,可混合錄製麥克風和系統聲音

這裡的需求是把視頻網站上的視頻轉換為音頻文件。 原來的辦法是通過一系列操作把視頻mp4文件下載到電腦,然後通過 QuickTime Player 導出為“僅音頻”。 這樣最麻煩地方就是下載視頻,因為視頻網站做了限制,下載速度非常慢,幾個小時還下載不完一個幾十M的視頻,相關麻煩。 後來換了種思路,想著能不能一邊播視頻一邊直接錄製聲音呢? 然後就試了下,錄製的是電腦喇叭裡的聲音,失真且有雜音。 後來在網上找了下,發現了一款神器 Soundflower 。 通過它就可以直接錄製電腦系統內播放出來的聲音,真是太方便了。 下面介紹一下安裝和三種使用方法。 安裝Soundflower 首先這是一個開源項目,官方是: Soundflower 。 最新版的下載地址: 輕點下載 。 1. 安裝失敗 第一次安裝會提示安全問題,不用管,關閉就好了。 2. 安全性與隱私 系統偏好設置=>安全性與隱私,看到剛才安裝由於安全機制被阻止了,直接點擊 仍要打开 即可。 3. 打開Soundflower 接著仍會彈出安全提醒,點擊 打开 。 4. 安裝成功 接著會看到安裝界面進行中,稍等幾分鐘,會看到安裝成功界面。 一、僅錄製電腦系統內聲音 1. 設置聲音輸出 系統偏好設置=>聲音=>輸出=>選擇 Soundflower(2ch) , Soundflower(64ch) 是64聲道一般用不到不用管。 2. 打開視頻或音頻 打開準備錄製的視頻、音頻,現在是聽不到聲音的,不要慌張,這是正常的。 3. 開始錄製 打開 QuickTime Player =>文件=>新建音頻錄製=>小紅點旁邊點擊選擇 Soundflower(2ch) =>點擊圓點就開始錄音了。 4. 播放錄音 錄音完成進入,系統偏好設置=>聲音=>輸出=>選擇 内置扬声器 ,就可以播放了。 錄製的音頻是不是沒有一點雜聲,效果特別棒? 二、邊錄邊聽 1. 音頻MIDI 設置 打開 音频 MIDI 设置 =>點擊“+” 创建多输出设备 2. 設置聲音輸出 系統偏好設置=>聲音=>輸出=>...