分類彙整: Linux相關

.NET Core 的 http Host 標頭防護與 nginx

因為家裡有丟一些測試用的網站(Web),所以常常用到 nginx 做轉發避免太多測試用的 VM 搶光有限的 IP ,方法如下:透過 nginx 解析 http 請求 (Request) 中的 Host 標頭 (header) 後,再 Host 標頭轉發到不同的 VM。因為有借朋友放 .NET Core ,他在測試 SingnalR 有發生一些問題,以下紀錄災難發生與修復的過程。

閱讀全文 .NET Core 的 http Host 標頭防護與 nginx

用Linux作「多進多出」的NAT

NAT伺服器除了很標準的「只有一個對外IP」外,也有一些變形作法像是「有兩個對外IP」的NAT就是一種(通常稱為DualWan),這種NAT伺服器在家裡可以輕鬆的把兩條線路(例如吃到飽的3.5G上網與ADSL線路)合併成一條,讓下載速度更快。

但是如果今天的狀況是,我想花錢跟中華電信多租一條線路,但是我不想重新拉房子的線、也不想多買一台IP分享器,而這條線路我要獨享,該怎麼作呢?呆呆和上網找了蠻多說明,不過都沒有解決到適合的答案,所以到處尋找再加上一點自己的嘗試後,終於做出來了。為了避免自己忘記,就把過程記錄下來。

閱讀全文 用Linux作「多進多出」的NAT

從無法正常連續讀取資料的硬碟挽救資料

這是一個硬碟的老梗問題,呆呆翰大概在國小的時候就遇過這種問題:資料讀到一半會硬碟掛掉,你得把硬碟電源拔掉、傳輸線(當年IDE現在是SATA)拔掉,然後重新接上去(IDE的年代是重新開機)才能繼續讀資料。重開後讀取沒多久,硬碟又會掛掉,你得重複一次以上的動作才能。

以前沒有USB的那個年代,要從這樣的景況挽救資料幾乎是不可能,不過拜現代科技所賜,我們有USB轉接線--將IDE轉為USB,就可以把整台電腦重開機,變成拔掉USB傳輸線、關掉外接電源、重新打開外接電源、接上USB傳輸線;如果是SATA的硬碟更是可以開啟熱插拔(不過根據測試,SATA熱插拔遇到這種讀到一半掛掉的硬碟,似乎不太能清除乾淨,建議還是透過USB轉接)。總之,在現代要從這樣的硬碟讀出資料已經不再是天方夜談了(但同樣的,現代硬碟資料更多,你得花更多時間處理)。

閱讀全文 從無法正常連續讀取資料的硬碟挽救資料

Nginx與chroot的php5-fpm配合

因為某些原因,呆呆翰想要讓php5-fpm在chroot的狀態下執行(保障系統安全是其中一個)、而nginx不進行chroot直接執行。

以前就用網路上常見的方法處理nginx中alias的php不能執行的問題,用了一段大家都看過類似的設定,也沒甚麼大問題。

但是這次,不管怎麼改,伺服器永遠只會噴File Not Found這個討厭的訊息,網路上常見的設定長這樣: 閱讀全文 Nginx與chroot的php5-fpm配合