您好,登錄后才能下訂單哦!
我們要實現的架構師,一臺 EC2 兩個虛擬主機,通過一個 ELB,一個 CloudFront 實現動靜分離,并且實現不同的域名訪問不同的網站,并且啟用 HTTPS。
在 EC2 上面安裝 nginx 服務,創建兩個虛擬主機的網站文件,以及虛擬主機配置文件,分別如下:
網站路徑如下,首頁里面通過標簽引用了圖片。
├── test1
│?? ├── images1
│?? │?? ├── 1.jpg
│?? │?? └── 2.jpg
│?? └── index.html
└── test2
├── images2
│?? ├── 1.jpg
│?? └── 2.jpg
└── index.html
兩個虛擬主機對應的 nginx 配置文件如下:
server {
listen 80;
server_name test1.wzlinux.com;
root /usr/share/nginx/test1;
location / {
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
}
server {
listen 80;
server_name test2.wzlinux.com;
root /usr/share/nginx/test2;
location / {
}
}
域名解析到 EC2,驗證沒有問題,測試好之后,安全組可以改為只允許 ELB 所在安全組的流量訪問,其實這里也可以配置 HTTPS,這里省略。
創建好目標組之后,記得添加注冊實例,就是我們的 EC2。
我們可以添加 HTTPS 的監聽(非必須),這樣我們就可以加密訪問了,可以設定各種規則,我們這里不需要設定,加上就行。
然后把域名解析到我們的 ELB,分別使用 HTTP 和 HTTPS 訪問我們的兩個虛擬主機,都是可以正常顯示各自的頁面,關于證書的申請,我們可以使用 AWS 的 ACM 服務。
按照默認創建即可,因為我們的源站有調用圖片的目錄,所以我們這里也創建兩個目錄,以供兩個虛擬主機分別調用,目錄里面放好圖片。
大致架構圖如下:
我們選擇 WEB 分發方式。
源緩存設置我們默認。
分配設置寫我們自己的虛擬主機的域名,并使用我們在 ACM 申請的證書。
剛剛我們的是加速的源網站,因為我們已經把靜態的圖片轉移到了 S3 上面,所以我們需要添加一個 S3 作為 CDN 的源。
我們創建一個動作,當用戶請求的目錄為images1
或者images2
的時候,將會把 S3 作為源,其他路徑繼續訪問 ELB。
然后把我們的域名解析 CNAME 指向 CDN 的域名,然后訪問效果,圖片是不是加載的 S3 的內容,通過日志也可以查看,我們把 Host 添加到白名單標頭之后,Host 傳到了 EC2,也就實現了虛擬主機的功能。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。