Open in app

Sign In

Write

Sign In

herb
herb

7 Followers

Home

About

Apr 29, 2018

利用Yubikey登入遠端SSH主機

Yubikey 是一個硬體鎖 可以產生金鑰並把私鑰儲存在上面 這次就是要利用這個特性 來登入遠端主機的SSH服務 這樣除非拿到這個硬體裝置 不然沒有人可以登入你的伺服器 首先我是照著這篇文章來做 但因為在Mac上有一些變化需要更新 所以我就整理我的步驟讓整個流程更順利些 我的操作環境: Macbook air 2012 MacOSX 10.12.6 Zsh shell 在第一 …

Login

7 min read

Login

7 min read


Apr 15, 2018

Nchan — 如何水平擴展與達到高可用性(High Availability)

如何水平擴展與達到高可用性(High Availability) Nchan可將訊息儲存在檔案、記憶體與Redis,速度最快的是儲存在記憶體裡,但如果重開機訊息就會不見,而且如果需要兩台做Load Balance,彼此之間的訊息也無法同步,很可能造成A連線上第一台,B卻往第二台發送訊息,卻永遠發送不到的狀況發生,所以要做到水平擴展,勢必要跟Redis做結合,而在Nchan要做到這件事,也相當容易。 http { …

Cluster

3 min read

Cluster

3 min read


Apr 15, 2018

Nchan — 訂閱的安全設置

訂閱的安全設置 在訂閱的安全方面,官方建議三種做法: 產生編碼過的Channel ID 使用nchan_authorize_request做驗證 使用X-Accel-Redirect隱藏Channel ID 產生編碼過的Channel ID 主要是防止他人輕易猜出別人的Channel ID,不管是被竊聽或是被胡亂發送訊息,都有一定的風險存在,官方建議最好是產生一組隨機128bit長度的一次性toke …

Nchan

3 min read

Nchan

3 min read


Apr 15, 2018

Nchan — 發佈的安全性設置

發佈的安全性設置 官方的建議,是將發佈的端點完全隱藏,只允許local存取發佈的位置。 http { server { #available only on localhost listen 127.0.0.1:8080; location ~ /pub/(\w+)$ { nchan_publisher; nc …

Nchan

2 min read

Nchan

2 min read


Apr 15, 2018

在CentOS7修改由systemd控制的service開檔數目限制

今天在解決C10K問題的時候 發現一般Linux可以在sysctl控制開檔數目 但是在CentOS7一直被限制在1024個而已 不管任何修改方式都一樣 $ ulimit -n 1000000 $ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, …

C10k

5 min read

C10k

5 min read


Apr 8, 2018

Nchan — 訊息轉發

訊息轉發 訊息轉發可以讓後端伺服器接收傳來的訊息,可以儲存、處理甚至修改原有的訊息。 location ~ /pub/(\w+)$ { #publisher endpoint nchan_channel_id $1; nchan_pubsub; nchan_publisher_upstream_request /upstre …

Nchan

2 min read

Nchan

2 min read


Apr 8, 2018

Nchan — 訂閱與發佈時的驗證

訂閱與發佈時的驗證 這是一個滿重要的應用,想像一個場景,在聊天室裡,每個人有自己的channel id,如果沒有經過身份驗證,任何一個人都可以訂閱別人的channel,代表大家的聊天訊息會被監聽,或是沒有經過驗證,就可以隨意發送訊息給任意的人,這都是很危險的情況。 在Nchan裡它提供了nchan_authorize_request的設定,這不管是訂閱的路徑還是發佈的 …

Nchan

3 min read

Nchan

3 min read


Apr 8, 2018

Nchan — 訂閱者上線與下線通知

訂閱者上線與下線通知 上線與下線,其實只是該設定的其中一種應用,要達到此種效果,使用的是nchan提供的nchan_subscribe_request與nchan_unsubscribe_request這兩個設定。 顧名思義,就是在訂閱者訂閱時發送一個request到後端伺服器,進而達到上線追蹤的功能,但也不限定此種應用,要如何應用,全由通知的後端伺服器來決定。 locati …

Nchan

3 min read

Nchan

3 min read


Apr 8, 2018

Nchan — 與後端程式的結合

Nchan與後端程式的結合 我之所以推薦nchan,是因為他可以與現有程式做緊密結合,包括但不限於 訂閱者上線與下線通知 訊息轉發 訂閱與發佈時的驗證 當然還有更多的應用場景,這邊只列出我有用到的部分,其他可以參考官方網站的Hooks and Callbacks章節。

Connect Backend

1 min read

Connect Backend

1 min read


Apr 5, 2018

Nchan — 同時支援發佈與訂閱(PubSub)設定

同時支援發佈與訂閱(PubSub)設定 Nchan也支援同時可以訂閱與發佈的設定,這對WebSocket全雙工的通道來說,是最方便的,連上一個位置,就可以訂閱訊息也可以發送訊息到同個channel。 location = /pubsub { nchan_pubsub; nchan_channel_id foo; nchan_channel_group test; } 若要同時支援訂閱與發佈,只需要加上nchan_pubsub的關鍵字即可,在此模式下,所有的GET請求都會被當成訂閱者,POST請求都會當作發佈者,如果只想接受Websocket的連線,可以在nchan_pubsub關鍵字後面加上websocket,這樣用GET的請求就會直接回覆403 Forbidden了。 另外一種特殊設定方式,是可以指定這個位置訂閱者在哪個channel,發佈者在哪個channel,例如:

Nchan

2 min read

Nchan

2 min read

herb

herb

7 Followers
Following
  • Noah Yeh

    Noah Yeh

  • 林宜儒 Lawrence

    林宜儒 Lawrence

  • Medium

    Medium

  • Wilson Kao

    Wilson Kao

  • Michal Juhás

    Michal Juhás

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech