在「Huthos VPS Provider: Totally legit, 1000% not a criminal organization.」這篇文章裡,作者因為平常就有弄密罐 (Honeypot),意外發現這種「業務」:

作者發現有人打進他的 Honeypot 並且留下紀錄,一路追蹤後發現...
幹壞事是進步最大的原動力
在「Huthos VPS Provider: Totally legit, 1000% not a criminal organization.」這篇文章裡,作者因為平常就有弄密罐 (Honeypot),意外發現這種「業務」:
作者發現有人打進他的 Honeypot 並且留下紀錄,一路追蹤後發現...
出自「High-performance PHP on apache httpd 2.4.x using mod_proxy_fcgi and php-fpm.」這邊的方法:
ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/var/run/php5-fpm.sock|fcgi://127.0.0.1:9000/var/www/www.example.com/public/
後面那個 127.0.0.1:9000
看起來變成裝飾用,有點奇怪... 不過至少會動?
會想要寫這篇是因為前陣子警察施暴影片在 YouTube 上一直被下架。
Tor 最常用到的是「隱藏使用者」的功能:使用者從 Internet 連到 Tor network 的進入節點 (entry node) 後,透過全世界的 Tor 節點加密傳輸,最後在出口節點 (exit node) 再連回 Internet 上的服務,藉此隱匿行蹤。
另外一個比較少被提到的用途是「架站」,也就是 Hidden Service。
在傳統的 Internet 架構上,知道 IP address 就容易發現機器所在地,要抄台或是在 ISP 端直接 ban IP address 也就相對容易。而 Hidden Service 就是想把服務藏到 Tor network 裡,讓外部不知道是哪一台伺服器,達成無法審查內容的目標。
官方的文件是「Configuring Hidden Services for Tor」這份。而這邊以 Ubuntu 12.04 的環境為例。
首先是先架設 web server,可以是 apache 或是 nginx,這不是本篇文章的重點 :p
然後在 /etc/tor/torrc
裡面加上:
HiddenServiceDir /var/lib/tor/hidden_service/ HiddenServicePort 80 127.0.0.1:80
表示 hidden service 的相關資料會放在 /var/lib/tor/hidden_service/
下,並且提供 port 80 的服務 (轉到本機 127.0.0.1 的 port 80)。
接下來重跑 tor:
service tor restart
然後看 hostname 是什麼:
cat /var/lib/tor/hidden_service/hostname
會看到一個 *.onion 格式的 hostname,像我架設的機器就會看到:
btyz5lgqirxipopo.onion
*.onion 的網址必須透過 Tor 的機制連,對一般人會比較麻煩。所以這邊要教的是透過 proxy 提供服務:
這樣就變得有很多用途...
Reverse Proxy 的 Cache Infrastructure 在遇到 cache invalidate 都是很討厭的問題,不是不能做,而是效能不太好... 常見的作法是設計成不用 purge 的形式,只要是需要更新,就產生不同的 url,而舊的 url 在沒人 access 後會透過各種 Cache algorithms 自動回收掉,像是 LRU (Least Recently Used) 之類的演算法。
發展久了之後也因此衍伸出很多不同的架構,像是 groupcache 就是假設在同一個 address 的內容永遠不會變的前提。
而 Varnish Cache 這次發表的東西則是打算從根本問題解決,也就是想辦法讓 purge (cache invalidate) 的成本降低:「Simple scales better and faster in the real world」、「VAC 2.0.3 with high performance cache invalidation API (aka the Super Fast Purger)」。
官方的說法,在大台機器上可以到 60k reqs/sec:
Kristian nonchalantly mentioned that the Super Fast Purger did 60,000 requests per second, on a 6 core Xeon with 36GB memory, traffic over a gigabit network to a single Varnish Cache server, with httperf as test client. But we believe the Super Fast Purger can do a lot more with a little love and tuning.
因為打算給 portsnap 用,所以得用 Squid 3.1 架 forward proxy,可以避免大量對外抓同樣的資料...
由於是內部的機器,不需要擋 acl,設定起來超簡單... ports 裝完 www/squid31 後,把 squid.conf
寫成:
#
http_access allow all
#
access_log /home/squid/logs/access.log squid
cache_dir aufs /home/squid/cache1 1024 16 16
cache_effective_group squid
cache_effective_user squid
cache_log /home/squid/logs/cache.log
cache_mem 256 MB
http_port 3128
這樣就「會動」了... (先不管效率) 照 squid 的慣例,第一次必須先跑 /usr/local/sbin/squid -z
讓目錄建立出來,後面就是標準的 /usr/local/etc/rc.d/squid start
。
申請 mCool 方案後第一次收到生效月的帳單,厚厚的一包:
基本月租費率 383 加上 mCool 最高值 299 就是 682,看起來這個方法沒什麼問題。已經幾個月過去了,把想的到的注意事項寫起來:
一時間想到的就這樣...
參考資料: