分類
系統技術

免費好用的SSL-Letsencrypt

看到在 DigitalOcean 上的教學文章 – 如何在 ubuntu 的 apache 上加裝 SSL

https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-14-04

於是來研究看 Letsencrypt 的 SSL 安裝.

步驟真的還蠻簡單的, 開了一台 CentOS 主機後, 先安裝了 apache:

yum install httpd

再安裝 git:

yum install git

然後便正式安裝 letsencrypt 作業:

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto

其實這樣就裝完了, 過程中會問幾個問題, 主要是網域名稱與 renew 用的 email , 輸入完成後, 便會自動進行 SSL 憑證的安裝, 其中還有一個問題是是否強制使用 https, 可以依自己的需求來進行選擇, 安裝好後, 就可以直接訪問 https://yourdomain.com 看看是否正常, 原則上 apache 不用重起就可以使用了呢.

這個憑證免費, 不過效期只有 90 天, 官方建議是每 60天 renew 一次, 所以記得要定期更新, 或使用 cron 自動來更新.

繼續閱讀:

  1. https://community.letsencrypt.org/t/quick-start-guide/1631
  2. 使用第三方 sslforfree 來手動申請 ssl: https://free.com.tw/ssl-for-free/
  3. https://blog.longwin.com.tw/2015/11/let-encrypt-ssl-certificate-setup-2015/
分類
系統技術

HDD/SSD的IOPS成本概算

今天看到一篇資料, 有關於系統上的 IOPS 成本議題, IT在設計基礎建設時, 在使用量大時, 往往會面臨效率的問題, 首當其衝的, 除了 CPU是一個關鍵外, 更多會發生的問題會在儲存的效率.

這篇資料提供了一些參加, 於取得 IOPS 的成本比較上, 不過只是參考, 因為實際上還有儲存空間的議題與系統設計架構的議題等需要考量.

請參考: http://www.dellenterprisesolution.com.tw/pc/index.html

(圖片引用自: http://www.dellenterprisesolution.com.tw/pc/index.html)

分類
系統技術

DigitalOcean便宜大碗的雲端主機服務

大型的雲端服務廠商, 不用多做介紹, 大家都知道了, 如 Amazon web service, Windows Azure, 等, 今天介紹這家是在海上的 DigitalOcean, 價格真的很便宜, 非常適合用來做 staging 或是 lab, 與開發環境.

記得從我的 ref 連結註冊, 你一開始可以多USD10, https://www.digitalocean.com/?refcode=c5fa03fa1aa6

特別的地方是他只有 VM, 以最低方案來看, 512MB RAM, 1Cores CPU, 20GB SSD, 1TB的資料傳輸, 每個月只需要5美元, 而以小時計是每小時只要 0.007美元, 真的超級划算的.

管理介面可以透過他的 web console 登入主機, 或用自己的 ssh 都可以, 和 aws 差異是沒有外部的防火牆或網管政策, 所以記得要自行用 iptables 或類似的內建防火牆進行保護.

若有線上雲端主機的需求, 尤其又是或測試或是開發應用的朋友們, 可以多加利用.

PS, 它的付款方式除了信用卡外, 還有 Paypal 更方便呢!

分類
系統技術

走Hinet電路問Hinet dns-aws cloudfront無回應

今天早上9點多開始的, 原來要用 run.quikLAB 的服務, 網頁有些問題, 剛好在忙, 沒特別去查.
不過後發現像 dropbox 也有這個狀況(因為 dropbox.com 網頁也用了 cloudfront), 開啟了 firebug 的 network 功能, 檢查一下, 原來是 cloudfront dns 解析失敗.

經交錯測試檢查, 目前查得狀況如下,

  1. 走 hinet 電路問 hinet dns 失敗
  2. 走其他電路問 hinet dns 成功
  3. 走 hinet 電路問其他 dns 成功
  4. 走其他電路問其他 dns 成功

如此一來, 變成 hinet 網內用 hinet dns 的用戶, 會無法正常檢視有使用到 cloudfront 功能的網站, 太奇怪了.

  1. 若是人為刻意設定, 一定有很大的陰謀
  2. 若是不小心設錯, 持續了這麼久, MRTG表應該早就發現了, 還不處理也很妙

所以, 再觀察看看. 這個問題很大.

[12:12]
目前已觀測正常了. 看起來可能是第二個原因吧.

分類
系統技術

iOS 7.1企業APP安裝問題

在 iOS 7.1 更新後, 原企業APP安裝會發生以下訊息:
(無法安裝應用程式, 因為 xxxx 的憑證無效), 誰看得出來這個訊息是什麼意思, 查了一下, 發生的原因原來是因為原本在網頁上的安裝連結:
itms-services://?action=download-manifest&url=http://xxx.com.tw/xxx.plist

中的後面 url 沒有走 SSL 加密通道, 也就是 https.

如何解決這個問題, 當然, 就是改為 https://xxx.com.tw/xxx.plist 即可, 但若是沒有購買 SSL 加密憑證, 如何解決呢? 可以使用第三方的網站分享連結, 而且支援 https 的, 可以利用 dropbox 的 share link.

做法如下:

1. 將原來的 plist 檔案放在 dropbox 空間, 並生成分享連結(share link), url 會像如下:
https://www.dropbox.com/s/xxxxxxxxx/xxx.plist

2. 若上面網址沒有 https, 就自行改成 https 即可, 並將 www.dropbox.com 改為 dl.dropbox.com, 如下:
https://dl.dropbox.com/s/xxxxxxxxx/xxx.plist

3. 將原來的 itms-services:// 後的 url 改成上面 url 即可, 如下:
itms-services://?action=download-manifest&url=https://dl.dropbox.com/s/xxxxxxxxx/xxx.plist

上線即完成, 不過缺點會是這樣, 在安裝時會出現 dropbox 的安裝通知, 如下:
若不介意 dl.dropboxusercontent.com 的這個訊息, 這就可以進行安裝了, 是用 dropbox 的 https 來解決這個 iOS 7.1 強迫要用 https 下載 plist 的問題.

繼續閱讀:
http://bencollier.net/2014/03/ios-enterprise-app-error-cannot-install-applications-because-the-certificate-is-not-valid/
http://www.cocoachina.com/bbs/read.php?tid=194213&fpage=0&toread=0&page=1

若是還沒有 dropbox 空間的朋友們, 也歡迎多利用這個 referral link 加入, 謝謝: https://db.tt/h1NpPka3

分類
系統技術

Apache與IIS Web Sever URL長度上限

之前有查過 browser 的 url 上限, 可以參考這篇: https://diary.tw/archives/455 , 當時是為了調查 referer 的 url 上限, 進而找出 browser 的 url 上限.

那 web server 上的上限呢? 在 Apache 下有個 LimitRequestLine 的設置, 可以設定 URL 上限, 參考: http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestline

而該值預設為 8190 也就是大約在 8k 左右.

在 IIS 則是利用參數 requestLimits 中的參數, MaxUrl, 預設是 4096, 參考這篇: http://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits

這樣看起來基本上都比 Browser 長得多.

分類
好用軟體

好用的隱藏視窗執行console程式

一般在 windows 環境下, 起排程工作執行 console 應用程式或指令, 若是執行身份和目前登入的使用者身份一樣時, 就會出現一個 console 視窗, 為了要隱藏這個視窗, 有一種方式是使用不同的身份來執行該排程工作, 另一種方式可以應用這個小程式: Hidden Star

這個小程式可以讓執行的視窗不出現, 而且還有一個自帶的 UI 設定器, 方便使用者自行定義一個執令或是多個指令的執行, 而且不會出現干擾目前使用者的 console 視窗, 十分方便, 若有這樣需求的朋友們可以多加利用.

參考資料: http://www.howtogeek.com/howto/windows/hide-flashing-command-line-and-batch-file-windows-on-startup/

Hidden Star 網站: http://www.ntwind.com/software/hstart.html

分類
系統技術

免費試用Windows Azure的雲端服務

微軟的雲端服務 Windows Azure 目前有免費試用的版本, 方便給在學習及測試階段的開發者們一個好用方便的服務.

入口: http://www.windowsazure.com/

進來之後, 可以直接在線上申請試用 3個月免費, 點下[免費試用], 免費的內容如下:

  • 計算 / 每個月 750 小時的小型計算時數
  • 網站 / 10 個網站
  • 行動服務 / 10 個行動服務
  • 關聯式資料庫 / 1 個 SQL 資料庫
  • SQL Reporting / 每個月 100 小時
  • 儲存體 / 35 GB 及 50,000,000 個儲存體交易
  • 頻寬 / 無限制輸入及 25 GB 輸出
  • CDN / 20 GB 輸出及 500,000 個交易
  • 快取 / 128 MB
  • Service Bus / 1,500 個轉送時數及 500,000 則訊息

登入 windows account 之後, 會需要輸入電話號碼(用來收開通簡訊)及信用卡驗證身份(避免濫用)後, 就可以順利開通了.

接下來就是使用這個 3個用的免費服務, 最快的方式是直接建立網站功能(即website), 免費內容可以建立10個網站, 所以就來新增一個網站看看, 從 Web Sites 內容下方, 按下 [+NEW] 後就可以新增一個網站, 接下來會有三個選項:

  1. QUICK CREATE
  2. CREATE WITH DATABASE
  3. FROM GALLERY

為能快速就有個網站可以試玩看看, 我們來選 3. FROM GALLERY, 就可以利用架站的套件直接裝好來用, 如 Drupal, WordPress, Joomla, Mediawiki 等.

來裝個 Drupal 試看看, 選擇後, 需要輸入資訊畫面如下:

第一個 url 就需要輸入一個唯一網址, 然後建立一個新的MySQL資料庫, 選擇地區後, 按下一步, 輸入完成資料庫相關資訊後, 回到 Web Sites的管理介面, Windows Azure 會開始部署, 等一下下後, 就會出現部署完成的資訊, 並該 web site 的狀態為 running , 點下自訂的 url 後, 會進入設定安裝 drupal 的畫面如下:

接下來就很單純啦, 一步一步就可以完成這個 drupal 的安裝. 真的很快很方便, 而且馬上就可以用了呢!

目前裝好了兩個測試的 web site, 一個是 wordpress: http://mypress.azurewebsites.net/ , 另一個就是 drupal: http://dp7.azurewebsites.net/ 還真的蠻方便的.

接下來也可以自行試看看用之前的 QUICK CREATE 來建立一個空的網站, 建好之後, 進到管理介面中的 configuration 可以看到預設的 .net framework version 是 4.5, php 是 5.3 的版本.

另外若需要用 ftp 管理, 要到 Dash board 中, 點右邊的 setup git publishing, 也就是 git publishing 和 ftp 都用一樣的帳號密碼, 詳情可以參考這篇:

http://blog.syntaxc4.net/post/2012/09/13/enabling-php-5-4-in-windows-azure-web-sites.aspx

這樣就可以利用 ftp 來進行檔案的上傳及管理了. 由於站台是可以執行 asp.net 及 php, 筆者也上傳了 asp 的檔案測試, 也是可以執行的, 有興趣的朋友們可以試看看這個 Windows Azure 提供的免費 3個月試用服務.

若是用量(QUOTA)超過, 預設是不會扣款, 只是服務會暫停, 測試的網站應該不太會這麼快就用完吧, 好好試用看看吧!

若是網站要自訂網域, 則必須在 SCALE 那裡將模式由 free 設為 shared 或 reserved 才行, 可以參考這篇: http://www.windowsazure.com/en-us/develop/net/common-tasks/custom-dns-web-site/

3種程式支援 sample:
php: http://w3.azurewebsites.net/1.php
asp: http://w3.azurewebsites.net/1.asp
aspx: http://w3.azurewebsites.net/1.aspx

快試看看吧!

分類
好用軟體

TCPView工具新增功能查詢流量

新版 Windows SystInternal 工具 TCPView (3.05) , 除了原來的 process 對應的 connection status 外, 右側多增加了 4個欄位的資訊, Sent Packets, Sent Bytes, Rcvd Packets, Rcvd Bytes.

畫面如下:

如此一來, 對於在查詢 prcoess / connection / 流量上, 就有更完整的資訊可以取得了.

官方網址: http://technet.microsoft.com/en-us/sysinternals/bb897437
官方下載: http://download.sysinternals.com/Files/TCPView.zip

iis7下的appcmd查詢reqeust

在沒有 appcmd 之前, 要像 apache 中的 server-status 中列出目前的 request url 只能利用 resource kit 的 request viewer, 不過在 iis7 中, 可以利用內建指令 appcmd 來查詢.

appcmd 有許多功能, 不過今天介紹的是查詢目前的 request, 先來看看說明文件:

http://technet.microsoft.com/zh-tw/library/cc772200%28v=ws.10%29.aspx

在 appcmd下, 有許多物件可供應用, 其中今天要介紹的就是 request, 不過可以操作的指令只有一個, 就是 list, 想查詢對該物件可用指令可以這樣下(以 site 為例):

>appcmd site /?
管理虛擬站台

APPCMD (command) SITE <identifier> <-parameter1:value1 …>

支援的命令:

list 列出虛擬站台
set 設定虛擬站台
add 新增虛擬站台
delete 刪除虛擬站台
start 啟動虛擬站台
stop 停止虛擬站台

(請使用 /? 取得每個命令的說明,例如 ‘appcmd.exe add site /?’。)

可以使用 list, set … 等多種操作指令, 而查詢目前的 request 則使用:

>appcmd list request
REQUEST “1400000080019834” (url:GET /xxx/xxxxx, time:1047344 msec, client:xxx.xxx.xxx.xxx, stage:SendResponse, module:IIS Web Core)
REQUEST “e20000438002e1fc” (url:GET /xxx/xxxxxx, time:71625 msec, client:xxx.xxx.xxx.xxx, stage:SendResponse, module:IIS Web Core)
….

可以很清楚地看到每個 request 的資訊, 包含 ip 及 url 及目前的狀態, 十分有用.