動態

詳情 返回 返回

微信小程序-Docker+Nginx環境配置業務域名驗證文件 - 動態 詳情

在實際開發或運維工作中,我們時常需要在 Nginx 部署的服務器上提供一個特定的靜態文件,用於域名驗證或第三方平台驗證。若此時使用 Docker 容器部署了 Nginx,就需要將該驗證文件正確地映射(掛載)到容器中,並通過 Nginx 配置讓外部訪問到它。本篇文章將介紹如何在已有的 Docker Compose + Nginx 環境裏,順利配置並訪問靜態驗證文件。


一、下載驗證文件

訪問小程序管理平台,管理>開發管理裏配置業務域名,點擊下載校驗文件。
002.png
校驗文件打開,是一串字符串。

003.png


二、將驗證文件掛載到容器

打開 docker-compose.yml ,找到部署 Nginx 的部分:

version: '3.8'
services:
  nginx:
    image: nginx:1.25.3
    restart: always
    container_name: nginx
    ports:
      - '80:80'
      - '443:443'
    environment:
      TZ: Asia/Shanghai
    volumes:
      - /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
      - /docker/nginx/cert/:/etc/nginx/cert/
      - /docker/nginx/logs/:/var/log/nginx/
      # 前端頁面目錄
      - /docker/your-application/html/:/usr/share/nginx/html/

在這個配置裏,Nginx 通過容器內部 /etc/nginx/nginx.conf 配置文件進行控制。現在的需求是要把宿主機某個目錄下的驗證文件(如 /docker/nginx/validation/0JxdihrkrH.txt)映射到容器,讓外界可以通過 http://your-domain.com/0JxdihrkrH.txt 訪問到它。

docker-compose.ymlvolumes 部分中,新增一行掛載:

volumes:
  - /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
  - /docker/nginx/cert/:/etc/nginx/cert/
  - /docker/nginx/logs/:/var/log/nginx/
  # 前端頁面目錄
  - /docker/your-application/html/:/usr/share/nginx/html/
  # 掛載驗證文件目錄
  - /docker/nginx/validation/:/docker/nginx/validation/

這樣做的目的是,將宿主機 /docker/nginx/validation/ 中的所有文件同步到 Nginx 容器內部的 /docker/nginx/validation/


三、修改Nginx配置

1. 更新配置文件

打開並編輯已掛載的宿主機 Nginx 配置文件 /docker/nginx/conf/nginx.conf,保證 Nginx 能夠正確返回請求路徑 /0JxdihrkrH.txt 下的靜態文件。參考示例配置:

server {
    listen 80;
    server_name your-domain.com;

    # 默認的根目錄配置(如已有前端或其他靜態資源)
    root /usr/share/nginx/html;
    index index.html;

    # 針對驗證文件的配置
    location = /0JxdihrkrH.txt {
        root /docker/nginx/validation;  # 指定宿主機掛載到容器的目錄
    }

    # 其他需要的配置,比如:
    location / {
        try_files $uri $uri/ /index.html;
    }

    # 錯誤頁面配置(可選)
    error_page 404 /404.html;
}

location = /0JxdihrkrH.txt 使用了精確匹配,只有請求是 http://your-domain.com/0JxdihrkrH.txt 時才會進入這個配置。
root /docker/nginx/validation 指定 Nginx 在容器內部查找文件的根目錄。
最終會解析成 /docker/nginx/validation/0JxdihrkrH.txt

2. 重新加載Nginx

更新完 nginx.conf 後,需要重新啓動容器或重載 Nginx 配置:

# 重啓鏡像 (如果使用 docker-compose)
docker-compose down
docker-compose up -d

# 或者,你也可以只修改配置後 reload(前提是容器已在運行):
docker exec -it nginx nginx -t   # 測試配置語法是否正確
docker exec -it nginx nginx -s reload

四、測試訪問驗證文件

  1. 檢查文件是否存在並權限正確
    在宿主機上查看 /docker/nginx/validation/0JxdihrkrH.txt 是否存在,並確保權限允許 Nginx 讀取:

    ls -l /docker/nginx/validation
    chmod -R 755 /docker/nginx/validation
  2. 訪問測試
    在瀏覽器中訪問:

    http://your-domain.com/0JxdihrkrH.txt

    如果能看到文件內容,就説明配置成功。

    001.png

  3. 查看 Nginx 日誌
    如果無法訪問,可以執行:

    docker exec -it nginx cat /var/log/nginx/error.log

    docker logs nginx

    以排查異常。


五、提交業務域名

點擊保存,提示保存成功。業務域名即刻生效,可以用小程序去調用業務域名下的後端接口了。

004.png

user avatar caisekongbai 頭像 evans_bo 頭像 mstech 頭像 dirackeeko 頭像 patsy324df_banks901rn 頭像 tangqingfeng 頭像 lenve 頭像 xcgaoshi 頭像 incerry 頭像 haoqidedalianmao 頭像 spacewander 頭像 aoshizhongshengdeyadan_wcyg0 頭像
點贊 15 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.