找出網站中的混合內容 (mixed content)

Google 在 2014 年宣布 HTTPS 將會是搜尋排名的參考之一(相關連結:Official Google Webmaster Central Blog: HTTPS as a ranking signal),到了最近也宣布 Chrome 到了 2017 年 01 月的 Chrome 56 中(相關連結:Google Online Security Blog: Moving towards a more secure web),將會把不是採用 HTTPS 的輸入密碼或信用卡卡號的網站標示為 Not secure(動作超大),最後,會連不是 HTTPS 的網站都標成 Not secure…

blog-image-1
圖片來源:Google Online Security Blog

在把網站從 HTTP 轉到 HTTPS,除了需要調整網頁伺服器上的設定、申請憑證,及把來自 HTTP 的連線都轉到 HTTPS 之外,更費時間的是要確保沒有混合內容 (mixed content) 的情形。

什麼是 mixed content

來看看 Mozilla 的定義:

如果以 HTTPS 傳輸的頁面含有以 HTTP 傳輸的明文內容,則這個連線就只有部分加密:也就是說,未加密的內容就有可能被竊聽或是被中間人修改,連線也就不安全了。當網站發生這樣的情況時,我們說這個頁面含有混和內容

— 取自《混和內容 – Security | MDN》

簡單來說,如果 HTTPS 的網頁中有包含了 HTTP 的連線,就是網頁中有 mixed content。

例如,連線到 https://fmbase.tw/secure-page/,網頁伺服器回應 HTML 給瀏覽器去解析,當有像 <img src=””> 的標籤,需要再發出 HTTP(S) request 來取得圖片,如果當圖片是 HTTP 資源的時候,這個網頁就有 mixed content。

繼續閱讀 “找出網站中的混合內容 (mixed content)”

找出網站中的混合內容 (mixed content)

Docker 實作入門

目的

主要介紹 Docker 的實作,會提到以下幾個部分:

  1. 快速的建立 Docker container
  2. 管理 Docker 上的 container
  3. 下載 image 、commit 建立新的 image
  4. 經由撰寫 Dockerfile 來自動建立新的 image

在進入實作前,會簡單介紹 Docker 與虛擬化的差異、Docker 上的重要元件,接下來準備的部分會需要安裝 Docker 及先登入 Docker Hub。

 

簡介 Docker

Docker 是一個開源專案,支援多平台,從筆電到公、私有雲上能進行快速部署輕量、獨立的作業環境。Docker 使用 Linux 核心中的功能,Namespace 及 Control Groups (cgroups) 等,來達到建置獨立的環境及控制 CPU 、Memory 、網路等資源。

Docker logo

專案網址: http://www.docker.com/

繼續閱讀 “Docker 實作入門”

Docker 實作入門

用OpenShift 開發網站

openshift
圖片轉自OpenShift

從大學畢業後,要免費用伺服器還蠻麻煩的一件事情,查了許多VPS ,開發環境都不是非常好,像有些主機還是使用PHP 5.3 以下,MySQL 也不支援InnoDB Engine,服務也不沒很穩定,免費的主機也不能苛求太多,OpenShift 是由Red Hat 建置,跑在Amazon EC2上,穩定度看來是不錯的。

1. 介紹OpenShift

OpenShift 是RedHat 建立的雲端服務,屬於平臺即服務 (PaaS),可以讓開發者或一般人方便的使用架設好的開發環境,不用花費太多時間在管理系統上面。官方也蠻不錯的,提供一個免費方案,另一個基本上算免費,先看一下比較。

Free Bronze
Small Gears(1~3) *1 免費 免費
Small Gears(4個以上) X 須付費
Gear 閒置 *2 2天 X
基本儲存空間/1個Gear 1G 1G
額外儲存空間 X 須付費
rhcloud.com 上的次級網域
自訂網域
分享SSL/TLS 憑證
自訂SSL/TLS 憑證 X
付款資訊 *3 X

備註:

  1. Gear 是一個被限制的資源(如:記憶體、儲存空間等),簡單來說像是一個電腦一樣,Small Gear 的資源就是512M 的記憶體、100M swap 空間、1G 儲存空間(可付費擴增)
  2. Gear 閒置指,如果在某段時間內(免費方案是2天)沒有接收到HTTP 要求的話,會進入idle 狀態,如果有HTTP Request 進來,就會進入Started了(自己測試idle 切換到started 要等10幾秒左右)
  3. 付款資訊在Bronze 方案,是要填入信用卡資訊的,所以小心Small Gear 用超過1G的儲存空間就會開始計費…

比較起來,OpenShift 還不錯,可以自訂網域,記憶體跑小demo 、做Lab或者是小流量的網站 也不錯。官方說明中,以Drupal 來估計,Small Gear 可以Free 方案大約可以每秒15 個頁面、數百篇文章、每個月5萬個訪客,詳細得比較可以去看https://www.openshift.com/products/pricing

支援的程式語言包括,Java、PHP、Python、Ruby、Node.js、Perl等,本篇文章以PHP 為開發環境,資料庫則有MySQL、MangoDB、PostgreSQL等,如果要知道支援的版本,可以至https://www.openshift.com/developers/technologies

繼續閱讀 “用OpenShift 開發網站”

用OpenShift 開發網站