天天看點

Nginx通過批處理一鍵配置域名轉發規則 - 實作自定義域名指向特定端口的SaaS服務一、安裝 Nginx二、配置域名轉發規則三、配置域名解析四、服務測試

當同一個服務需要為不同的租戶提供服務,且每個租戶使用不同的域名時,我們可以使用 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

繼續閱讀