最近在某雲平台上申請了SSL證書(https),SSL證書申請或者續期過程中需要進行域名驗證。
如果域名驗證類型選擇【文件】方式,等你提交申請后,要在目標域名對應的服務端上傳一個文件(通常是一個.txt文件),然后通過公網可訪問URL的方式訪問這個文件,以此來證明你的域名是在你的服務器上。
即,如果你申請證書的域名是 https://域名,就得 https://域名/.well-known/pki-validation/fileauth.txt 能被公網訪問到。最簡單的方法是把這個文件直接放到web應用程序對應的目錄下。如果是通過反向代理到集群環境,在很多服務器上放置和更換這個文件就不划算了,或者是由於其他原因不方便暴露應用程序路徑的。可以直接在反向代理上面放置然后使它被訪問到。我這里反向代理用的是Nginx。方法如下:
Nginx配置http方式訪問:http://域名/.well-known/pki-validation/fileauth.txt 規則:
server { listen 80; server_name localhost www.test.com; #charset koi8-r; access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #http://域名/.well-known/pki-validation/fileauth.txt location /.well-known/pki-validation/ { root /home/wwwroot/default/; #alias /home/wwwroot/default/.well-known/pki-validation/; index index.html index.htm; } #其他配置規則 }
Nginx配置https方式訪問:https://域名/.well-known/pki-validation/fileauth.txt 規則:
server { listen 443; server_name localhost www.test.com; #charset koi8-r; access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #https://域名:443/.well-known/pki-validation/fileauth.txt location /.well-known/pki-validation/ { root /home/wwwroot/default/; #alias /home/wwwroot/default/.well-known/pki-validation/; index index.html index.htm; } #其他配置規則 }
例如上面兩段Nginx訪問規則,將 fileauth.txt 文件放在 /home/wwwroot/default/.well-known/pki-validation/ 目錄下。通過root指定服務器根目錄,或者alias指定當面路徑對應的服務器目錄都是可以的,寫法分別如上。並確認服務器目錄下文件訪問權限正確。
然后重啟Nginx。通過瀏覽器訪問效果如下:
【關鍵點】:
1,Nginx配置規則和文件放置目錄;
2,如果以前在瀏覽器有訪問過,請清除緩存后訪問,或者關閉並重新打開瀏覽器無痕模式訪問。
3,Nginx集群請在最外層,或每一台上配置。