發表文章

Nginx reverse proxy setting...

利用Nginx作為Reverse proxy是常見的用途 如果要在proxy_pass的地方指定一台以上的server作為後端reverse proxy重導的server 可以利用upstream參數來處理 http {   upstream your.server.domain {     server 11.22.33.1:80 ;     server 11.22.33.2:80 ;     server 11.22.33.3:80 ;     # .... 依此類推   }   server {     listen 80;     location / {       proxy_pass http://your.server.domain ; # 這邊與upstream的設定的名稱需相同       proxy_redirect default;     }   } }

SmartOS安裝Self-Gen SSL憑證

下面的設定是在MiCloud SmartOS上的設定,版本為SmartOSPlus64:3.2.0 如果需要在其他版本實作,則需要考慮apache server的設定檔案位置 原則上pkgin install安裝的時候可以看到設定說明... STEP1: 產生Self-Gen SSL金鑰 [root@SmartOS /opt/local/share]# cd /opt/local/etc/httpd/ [root@SmartOS /opt/local/etc/httpd]# openssl genrsa -des3 -out server.key 1024                                                                                                   Generating RSA private key, 1024 bit long modulus ......++++++ ......................++++++ e is 65537...

Zip file with password

很少用zip來壓縮檔案,不過,他支援密碼輸入的功能還不賴唷∼ # zip -P test1234 test.zip ./test/*   adding: test/node_modules/ (stored 0%)   adding: test/test-023.js (deflated 44%)   adding: test/test-123.js (deflated 46%)   adding: test/test-223.js (deflated 29%)   adding: test/test-323.js (deflated 45%)   adding: test/test-423.js (deflated 51%)   adding: test/test.sh (deflated 12%) # unzip test.zip  Archive:  test.zip    creating: test/node_modules/ [test.zip] test/test-023.js password: [******your password******]   inflating: test/test-123.js     inflating: test/test-223.js         inflating: test/test-323.js      inflating: test/test-423.js       inflating: test/test.sh  

使用crypt加解密

如果有一個資料夾"test" 這邊用test1234來作為密碼 加密: crypt yourpassword<archive-no-encode.tgz>archive-ecoded.tgz $ tar -vczf test.tgz  test $ crypt  test1234<test.tgz>test2.tgz 這樣會產生一個test2.tgz的檔案(原test.tgz可以移除了) 這個時候test2.tgz就已經加密了 如果欲對test2.tgz直接解壓縮,會出現下面錯誤訊息 # tar -xzf test2.tgz  gzip: stdin: unexpected end of file tar: Child returned status 1 tar: Error is not recoverable: exiting now 要解開的話:crypt yourpassword<archive-encoded.tgz>archive-decoded.tgz #  crypt test1234<test2.tgz>test.tgz

Connect MiCloud over SSH public key using Android

圖片
管理主機的系統管理者常會有"臨時"需要連線主機做管理的需要 而輸入密碼又不是件聰明的事... 這時候SSH public key登入是管理者最常做的連線選擇... 使用SSH public key登入遠端主機也是雲端服務最常用的作法 在MiCloud上的SmartOS甚至採用特殊Key Store的認證方式 使用者任何時候加入的SSH Key都可以直接應用在主機登入...(伺服器主機端不用再寫authorized_keys) 而這次是嘗試在Android上使用ConnectBot來連線MiCloud的主機 首先需要有ConnectBot啦...(我不教這個操作喔∼) 接下來... 1. 開啟ConnectBot,點選Menu後,在跳出的Menu選單中選擇"管理公鑰" 2. 然後,輸入公鑰資訊與加密方式... 3. 與Putty相同的,ConnectBot也是採用移動的軌跡來亂數產生加密數據,所以這邊只要把手指放到藍色區域不斷移動,就可以完成產生金鑰的動作 4. 接下來是要將"公鑰"匯入MiCloud Portal,這邊在產生好的金鑰上長按後,會跳出選單,選擇複製公鑰 5. 登入MiCloud金鑰管理頁面,把剛剛複製的金鑰貼上... 6. 使用ConnectBot設定主機連線... 7.  修改連線預設使用SSH金鑰 打開編輯後,點選"使用公鑰驗證",設定預設使用金鑰連線... 8. 接下來開啟主機連線頁面,點選剛剛設定好的主機... 然後,就可以順利連線所設定的主機了... 最後,提醒一下,如果有複雜的動作要處理(例如寫個程式啦...),最好有個藍牙鍵盤...畢竟手機只是應急用的... 不要太期待他帶給你所有工作上的便利... :D

奔馳雲端(Benz-Cloud)試用

圖片
神人的推薦,聽說便宜,來看看以賓士為名的雲端有些什麼東西... 價格 一塊錢100點的經營方式,居然還有期限@@ 沒用完的話不就被充公...這點有點不平易近人啦... 提供Hosting服務(這次主要要看的),還有File跟Monitor... 其中主機1.4/hr,換算一分鐘0.023元,真的滿便宜 流量費用,每G要價5塊台幣,我也不知道貴不貴啦...但是沒有免費的喔∼ 使用前要小心內∼ 而且...這邊怎麼沒用點數計算@@ 主機費用,下面列出網站價格與規格,各式主機都有,還不錯∼而且看起來...是不論OS的計價...買Windows也一樣價格唷∼ 單位費用是真的滿殺的∼∼ :D 下面開始來玩玩他的OS... 開立主機 首先...要找到送出的按鈕在哪...找不到、找不到、找不到@@ 告訴你,把64或32bit的下拉拉下來,點選ENG...(我也不知道ENG是啥...) 點選完之後,會給你一個管理者密碼... 建立主機花滿多時間的...大概要5分鐘 系統重建(Rebuild) 提供系統重建的功能,讓使用者可以回復到最初的狀態... 規格調整(Resize) 可以提供主機resize的功能,但是要重新開機...(這點應該是目前所有非Bare-Metal的虛擬方式都要重開機啦!),第三個步驟的"轉移",感覺起來怪怪的... 操控面板 看來有提供SSH中繼連線的功能,透過Applet的方式封裝基本的操作面板... 相同的技術使用,曾經在某個地方(一時間想不起來,似乎是AWS吧)看到... 不過,Console怎麼樣就是遺失模組,易用性部分,可以再補強一下... 映像檔(Image) AMI like的服務,出現在OpenStack等新的Cloud Platform中,雖普遍出現在VMWare跟一般虛擬化的軟體中,但是公有雲中,算是很指標性的服務喔∼ 畢竟每個人可以用自己的Image來玩,是很傷成本的唷∼ 基本監控 提供主機的狀態顯示,雖然不是即時顯...

Bash判斷參數是否存在

早上看到nixCraft的文章後,決定在這邊記錄一下... 透過之前提過的 -z "$var"可以判斷var這個變數是否存在 而很多的shell希望判斷可以再精簡一點... 所以會有結合[ test ]跟&&, ||來做流程的方式 其中: [ ] 裡面可以放test語句,執行完會傳出結果為true或false || 我比較不常用,看起來是如果前面為非則執行後面的程式段落 && 這個後面接的是當前面段落執行無錯誤時候,則執行後面程式段落 透過上面說明,使用"||"組句的話,我們可以把判斷是這樣寫: [ -z "$var" ] || echo "Empty"     #如果var存在為非,則echo Empty [[ -z "$var" ]] || echo "Empty"   #同上 反之,使用"&&"組句的話,可以: [ ! -z "$var" ] && echo "Empty"   # 如果var存在為是,則echo Empty [[ ! -z "$var" ]] && echo "Empty"  #同上 參考自: http://www.cyberciti.biz/faq/unix-linux-bash-script-check-if-variable-is-empty/