awsのIP一覧
https://ip-ranges.amazonaws.com/ip-ranges.json
jsonで返ってくるのでjq使うと良い。
ex: cloudfront のip prefixだけ抜く
curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.service == "CLOUDFRONT") | .ip_prefix'
13.32.0.0/15
13.54.63.128/26
34.195.252.0/24
35.162.63.192/26
52.15.127.128/26
52.46.0.0/18
52.52.191.128/26
52.56.127.0/25
52.57.254.0/24
52.66.194.128/26
52.78.247.128/26
52.84.0.0/15
52.199.127.192/26
52.212.248.0/26
52.220.191.0/26
52.222.128.0/17
54.182.0.0/16
54.192.0.0/16
54.230.0.0/16
54.233.255.128/26
54.239.128.0/18
54.239.192.0/19
54.240.128.0/18
204.246.164.0/22
204.246.168.0/22
204.246.174.0/23
204.246.176.0/20
205.251.192.0/19
205.251.249.0/24
205.251.250.0/23
205.251.252.0/23
205.251.254.0/24
216.137.32.0/19
sshuttle でssh使って簡単vpn
https://github.com/apenwarr/sshuttle
ポートフォワードだと個別にport設定したり、
ブラウザのプロキシ設定いじらないとダメだけど
sshuttle の場合、iptables(macだとpfctl ?)で特定のnetwork宛の通信を
ssh経由にねじまげてくれるのでvpnのように使える。素晴らしい。
VMWareの仮想マシンのdiskを縮小してpartitionを削除する
vCenterからいじっただけでは縮小されないので。
linux VMの対応。N GBからM GBに縮小する例。
1. 削除するpartitionをumountしてfstabから消す
2. partitionを削除(これしなくて良いかも)
3. 仮想マシンをshutdown
4. データストアの/vmname/vmname.vmdk を開く
flat.vmdkの行を変更する。
N GBの場合
1024 * 1024 * 1024 * N / 512 の値になっているので
1024 * 1024 * 1024 * M / 512 を計算してその値に変更する
# 50GB RW 104857600 VMFS "vmname-flat.vmdk" # 30GB RW 62914560 VMFS "vmname-flat.vmdk"
5. 仮想マシンのデータストアを移行する
これでvmname-flat.vmdkのサイズが変更後のサイズになった。
共用サーバの接続制限で良さげなapache module - mod_vhost_maxclients
ペパボの中の人さまさま。
- https://speakerdeck.com/matsumoto_r/virtualhosting-security-performance-operasion
- http://hb.matsumoto-r.jp/entry/2015/08/29/151920
- https://github.com/matsumoto-r/mod_vhost_maxclients
virtualhostごとに同時アクセス数や帯域を制限するmoduleにmod_cbandがあったけど
オーバヘッドが大きいのか、設定値の30%しか速度がでないなどややわかりにくかった。
mod_vhost_maxclientsは以下のことができる。
virtualhostごとの同時アクセス数、
1IPからのアクセス数、
制限を除外する拡張子の設定、
制限しないけどログ出力だけする、など
SSLアクセラレータ(reverse proxy)配下のnginxのcache_key
SSLアクセラレータ配下のnginxで
http、httpsで個別のキャッシュにしたいときに、
この設定をいれると、一見$schemeでhttp/httpsに振り分けられて
出来そうに見えますが、このままだと同じキャッシュになります。
proxy_cache_key "$scheme://$host$request_uri";
fastcgi_cache_key
uwsgi_cache_key
も同様
nginxに復号された状態でrequestがくるのでssl用のvirtualhostの
$schemeの中身はhttpになっています。
回避するには明示的にcache_keyにhttpsと指定する必要あり。
- http
proxy_cache_key "$scheme://$host$request_uri";
proxy_cache_key "https://$host$request_uri";
もしくはcache用の変数を1個かまして、proxy_cache_key は同じ設定にする。
($schemeは元から定義されている変数なので別に用意)
- http
set $cache_scheme "http"; proxy_cache_key "$cache_scheme://$host$request_uri";
set $cache_scheme "https"; proxy_cache_key "$cache_scheme://$host$request_uri";
SSLアクセラレータ(reverse proxy)配下のnginxで"/"なしのディレクトリにアクセスされたときのredirect
big-ip ipv6 nat memo
VirtualServerにipv6
Poolにはipv4で作成したものを割り当てた場合、
通信失敗にはならなくて、自動的にbig-ipのv4のaddressでnatされてserverに送信される
(snat automapしたときと同じ)