在TWCC上部署一個簡單的對外伺服器
Deploy a simple server
Notes:
開對外Port
- 可於 "網路與安全" > "安全姓群組" 裡面設定對外Port
- 如果有架設反向代理伺服器,則還須於 "負載平衡" 裡面做設定對外Port。
如果是設虛擬運算,則需要先行創建一個虛擬網路。
本篇可以了解
- 部屬一個簡單"對外"服務的HTTP Web伺服器。
- 如何部屬有SSL證書的HttpS伺服器。
Steps
於 "網路與安全" > "虛擬網路" > 點選 "+" : 創見一個網路,等待大概1~2分鐘做建置。
當狀態顯示: Active 即為可用。
於 "虛擬運算" > 點選 "+" : 建立一個虛擬運算個體管理。 本次我們選擇Ubuntu,如果需要GPU的需求可選擇T4版本。
選擇規格之後點選網路。
預設會自動選擇我們建立的default虛擬網路
設定容量空間。
建立一組登入用的金鑰,並下載下來,稍後我們會用這組密碼作為登入使用。
最後確認無誤,則建立。
等待數分鐘,狀態亮綠燈(Ready)則可使用。
由我們local端做遠端登入此VM,可以點入"虛擬運算",點選"連線"。 如果我們建置的時候已經設有一組浮動IP,則可略過第一步,如果還沒配置,則可配置一組浮動IP。
- 首先,先限制檔案的權限
chmod 400 /path/kp100000.pem
- 登入
ssh -i /path/kp100000.pem ubuntu@(public IP)
- 首先,先限制檔案的權限
於 "網路與安全" > "安全行群組" 設定我們的Server需要使用的對外Port。
點選: 建立
由於我的Demo伺服器需要的port是5757,因此我設定5757,走tcp/ip。 CIDR我們可以先設定
0.0.0.0/0
,然後下一步,完成建立。最後一步,遠端登入,並啟動伺服器,於瀏覽器確認我們的服務是否成功啟動~ 啟動web server:
Check it:
至於如何產生 web server 部份,可以參考我的這篇 如合輕鬆無腦快速產生一個Web Server。
配置靜態IP
如果之後正式對外服務,不想持續使用浮動IP,則可以考慮創建一組靜態IP。
然後到我們的虛擬運算點選我們的個體,進入之後移除原本的公用IP,等待移除之後,重新配置並選擇剛剛所創建的那組靜態IP。
部屬一個Https的網站
首先我們要先去申請一個SSL的證書,而不是自行產生的。
免費的SSL我們可以從這邊先行申請:sslforfree
輸入你的IP或網域名,跟著步驟做,這邊我選擇http方式上傳檔案來做驗證。 驗證成功之後,即可下載一包zip檔案,裡面會有private.key, certificate檔等等。
然後我們可以把此檔案放到程式底下,啟動https時候使用。
回到 "網路與安全" > "安全行群組" 設定我們的Server需要使用對外Https的Port。
啟動https 伺服器,即可在瀏覽器上做查看:https://(公用IP):(port)
建議可以多做一步驟,到 "網路與安全" > "SSL憑證" 註冊一下該SSL證書。
轉換方式可參考此篇:https://man.twcc.ai/@twccdocs/howo-lb-convert-cert-zh
$ openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt -certfile ca.crt
(Enter to skip the questions.)
$ base64 server.p12 | tr -d \\n
複製產生出來的檔案,貼到 Base64編碼欄位。
最後可以在瀏覽器上查看一下,web server上證書發行資訊。
Reference:
可參考官方的文件:
- https://man.twcc.ai/@twccdocs/doc-vcs-main-zh/https%3A%2F%2Fman.twcc.ai%2F%40twccdocs%2Fvcs-overview-zh
- https://man.twcc.ai/@twccdocs/howto-vcs-lb-build-secure-web-handle-high-traffic-zh/https%3A%2F%2Fman.twcc.ai%2F%40twccdocs%2Fhowto-vcs-lb-build-secure-web-handle-high-traffic-intro-zh
Troubleshooting
apt install 任何東西都會報錯
ubuntu@vm1652408398792-2692774-iaas:~$ sudo apt install -y vim
Reading package lists... Done
Building dependency tree
Reading state information... Done
vim is already the newest version (2:8.1.2269-1ubuntu5.7).
0 upgraded, 0 newly installed, 0 to remove and 117 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up install-info (6.7.0.dfsg.2-5) ...
/usr/sbin/update-info-dir: 11: /etc/environment: dHdzeHBrZzI4Nzo3ODJna3B4c3d0: not found
dpkg: error processing package install-info (--configure):
installed install-info package post-installation script subprocess returned error exit status 127
Errors were encountered while processing:
install-info
E: Sub-process /usr/bin/dpkg returned an error code (1)解決:
sudo mv /var/lib/dpkg/info/install-info.postinst /var/lib/dpkg/info/install-info.postinst.bad
Source: https://askubuntu.com/questions/1069702/dpkg-error-processing-package-install-info