Skip to main content

在TWCC上部署一個簡單的對外伺服器

Deploy a simple server

Notes:

  1. 開對外Port

    • 可於 "網路與安全" > "安全姓群組" 裡面設定對外Port
    • 如果有架設反向代理伺服器,則還須於 "負載平衡" 裡面做設定對外Port。
  2. 如果是設虛擬運算,則需要先行創建一個虛擬網路。


本篇可以了解

  • 部屬一個簡單"對外"服務的HTTP Web伺服器。
  • 如何部屬有SSL證書的HttpS伺服器。

Steps

  1. 於 "網路與安全" > "虛擬網路" > 點選 "+" : 創見一個網路,等待大概1~2分鐘做建置。

    當狀態顯示: Active 即為可用。

  2. 於 "虛擬運算" > 點選 "+" : 建立一個虛擬運算個體管理。 本次我們選擇Ubuntu,如果需要GPU的需求可選擇T4版本。

    選擇規格之後點選網路。

    預設會自動選擇我們建立的default虛擬網路

    設定容量空間。

    建立一組登入用的金鑰,並下載下來,稍後我們會用這組密碼作為登入使用。

    最後確認無誤,則建立。

    等待數分鐘,狀態亮綠燈(Ready)則可使用。

  3. 由我們local端做遠端登入此VM,可以點入"虛擬運算",點選"連線"。 如果我們建置的時候已經設有一組浮動IP,則可略過第一步,如果還沒配置,則可配置一組浮動IP。

    1. 首先,先限制檔案的權限 chmod 400 /path/kp100000.pem
    2. 登入 ssh -i /path/kp100000.pem ubuntu@(public IP)
  4. 於 "網路與安全" > "安全行群組" 設定我們的Server需要使用的對外Port。

    點選: 建立

    由於我的Demo伺服器需要的port是5757,因此我設定5757,走tcp/ip。 CIDR我們可以先設定 0.0.0.0/0,然後下一步,完成建立。

  5. 最後一步,遠端登入,並啟動伺服器,於瀏覽器確認我們的服務是否成功啟動~ 啟動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:

可參考官方的文件:


Troubleshooting

  1. 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