當同一個服務需要為不同的租戶提供服務,且每個租戶使用不同的域名時,我們可以使用 Nginx 将不同的域名轉發到不同的端口上,這樣也友善使用容器雲動态配置租戶,本文簡要說明了 Nginx 通過批處理一鍵配置域名轉發規則
文章目錄
- 一、安裝 Nginx
-
- 1. 下載下傳 Nginx 并解壓
- 2. 修改 Nginx 配置
- 3. 啟動服務
- 二、配置域名轉發規則
-
- 1. 配置模闆
- 2. 批處理腳本
- 3. 執行腳本
- 三、配置域名解析
-
- 1. 手動配置
- 2. 自動配置
- 四、服務測試
-
- 1. 通路域名
- 2. 通路失敗檢查
一、安裝 Nginx
1. 下載下傳 Nginx 并解壓
2. 修改 Nginx 配置
使用通配符引入多個配置檔案,友善添加新域名
include D:/nginx-1.17.5/conf/saas/*.conf;
3. 啟動服務
輕按兩下 nginx.exe 啟動服務
二、配置域名轉發規則
1. 配置模闆
配置檔案:saas.conf
server
{
listen 80;
server_name domain;
location /
{
proxy_pass address;
}
}
2. 批處理腳本
腳本檔案:saasconf.bat
rem 定義變量延遲環境,關閉回顯
@echo off&setlocal enabledelayedexpansion
rem 讀取a.txt所有内容
for /f "eol=* tokens=*" %%i in (saas.conf) do (
rem 設定變量a為每行内容
set a=%%i
rem domain為域名,address則為轉發位址
set "a=!a:domain=%1!"
set "a=!a:address=%2!"
rem 把修改後的全部行存入$
echo !a!>>$)
rem 用$的内容生成新的配置檔案
move $ ./saas/%1.conf
cd /D "D:\nginx-1.17.5"
nginx -s reload
3. 執行腳本
第一個參數是域名,第二個參數是指向的服務位址加端口号,注意前面需要帶 HTTP 頭
> D:\nginx-1.17.5\conf\saasconf.bat test1.saas.com http://127.0.0.1:81
三、配置域名解析
saas.com
是我們購買的一級域名,那我們需要添加二級域名
test1.saas.com
到我們的 Nginx 伺服器位址,再通過 Nginx 轉發規則實作 SaaS 服務的通路
1. 手動配置
參考:阿裡雲添加解析記錄
https://help.aliyun.com/knowledge_detail/29725.html
2. 自動配置
參考:阿裡雲DNS解析
https://help.aliyun.com/document_detail/29821.html?spm=a2c4g.11186623.6.613.4ea05b9ch04pTF
四、服務測試
1. 通路域名
浏覽器打開
test1.saas.com
,檢視是否能通過 Nginx 解析規則指向特定服務
2. 通路失敗檢查
① 檢視
test1.saas.com
是否已解析到 Nginx 伺服器所在的 IP
② 檢視 Nginx 服務是否配置正确:
nginx -t