うまいぼうぶろぐ

linuxとhttpdとperlのメモ

FileShare - google cloud platform のNFS Server

gcp

https://cloudplatform.googleblog.com/2018/06/New-Cloud-Filestore-service-brings-GCP-users-high-performance-file-storage.html https://cloud.google.com/filestore/ Google Cloudのfull-managed NFS Server。AWS でいうEFSですね。NFSに頼りすぎる異…

reveal.js とreveal-ckでプレゼン資料作成

最近、パワーポイントからの脱却を目指してます。パワーポイントにも良いところあるけど、個人的にはあまり凝った資料作成しないし、diff しやすいテキストベースのほうが良いかなと。 概要 html or markdown などでプレゼン用資料が作成できる reveal.js – …

apache 2.4.7 からProxyPassでunix domain socketを指定できるようになってた

nginx + uwsgi(socket) で動いているブツを、apacheが稼働中のサーバに移そうとしたときに、 socketをtcp port に書き換えないといけないの面倒だなーと思ってたけど、2.4.7 からsocketに対応してた。 https://httpd.apache.org/docs/2.4/en/mod/mod_proxy.h…

apache 2.2 LocationMatch 内ではProxyPassではなくProxyPassMatch (ただし、ProxyPassReverseの制限付き)

2.4は不明。2.2ではProxyPassではダメだった。Location 内でProxyPassしているURLを増やしたくて、 そのままLocationMatchで正規表現で書いてもProxyしてるところがbackendに渡らなくて困った。 https://keita.blog/2013/06/04/locationmatch-and-proxypass/…

Google Cloud Certified - Professional Cloud Architect に合格しました

gcp

cloud.google.comシリーズIDは2000後半でした。今年頭に合格した人が1000前半だったことを考えると順調に増えていってますねー。AWS のソリューションアーキテクトアソシエイトよりは難しかったと思います。 (プロフェッショナルはまだ受けたことないのでわ…

rancher v1.0 memo

version 1.0 時代のmemo 見つかったので引っ張り出してきた。 最新は1.4 なので色々変わってると思うけど。http://rancher.com/rancher-os/ iso イメージからboot 自動的にコンソールログイン、DHCPでIP取得 作業はrancherユーザ。sudo でroot権限使う。 clo…

big-ip route domain , partition 操作

route domain ping %のあとにroute domainのID # ping 192.168.0.1%1rdsh でid指定してそのroute domainのnetwork内のshellに移動する # rdsh 1 # ping 192.168.0.1 partition defualtは/Common # tmsh # cd /partition

apache 2.4でerror log formatが設定できるようになっていた

2.2では不可 - https://httpd.apache.org/docs/2.4/en/mod/core.html#errorlogformat

big-ip irule memo

httpとhttpsのpoolをひとつのiruleで処理する 例えば example.com-http example.com-https のようなpoolがある場合CLIENT_ACCEPTEDではTCP::local_portでportが判別できるので when CLIENT_ACCEPTED { switch -exact [TCP::local_port] { 80 { set pool_serv…

big-ip Web Accelerationでcache

httpコンテンツcacheする場合、だいたいvarnishとかnginx、apacheでやるし、 最近だとCDNもあったりするので、機能としてあるのは知ってたけど使わなかった機能。とはいえ突発的なアクセスがきて、急に構成変更ができない場合にさくっとできるように調べて見…

sysstat (sadc)にTCP/IPの統計を追加する

sar -n TCP、-n IPなどでTCP/IPの統計も見たい場合sadcに"-S SNMP"オプション追加が必要man sar With the TCP keyword, statistics about TCPv4 network traffic are reported. Note that TCPv4 statistics depend on sadc option "-S SNMP" to be collected…

big-ip rest api

https://devcentral.f5.com/d/icontrol-rest-user-guide-version-1150 jsonで返ってくるのでjqかなければpython -m json.tool を使うと見易い。 $ curl -s -k --user user:pass https://192.168.0.1/mgmt/tm/ | jq .URLはこの辺 /tm/net/ /tm/ltm/ /tm/secur…

ddで書き込み時にキャッシュを使用せず書き込む

このオプションすぐ忘れる oflag=direct $ dd if=/dev/zero of=/tmp/hoge.dat bs=1M count=1000 oflag=direct

nginx のproxy_passするときのホスト名指定とresolver

(OS違ったけど詳細忘れた)現象が発生するサーバとしないサーバあったので、これだけが原因じゃないかも。とりあえず心に留めておく。 location /hoge/ { proxy_pass "http://example.com/"; } これは問題なく動いた。proxy_pass先でurlまで指定すると locati…

big-ipで帯域制御 Bandwith ControllerとRate Shaping

Bandwith Controller https://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/tmos-implementations-11-5-0/9.html Bandwidth controllers のほうが最新機能のようなのでこっちのがいいかも Rate Shapingの後継機能のようで、共存はできない…

awsのIP一覧

aws

https://ip-ranges.amazonaws.com/ip-ranges.jsonjsonで返ってくるのでjq使うと良い。ex: cloudfront のip prefixだけ抜く curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.service == "CLOUDFRONT") | .ip_prefix'…

sshuttle でssh使って簡単vpn

ssh

https://github.com/apenwarr/sshuttle ポートフォワードだと個別にport設定したり、 ブラウザのプロキシ設定いじらないとダメだけど sshuttle の場合、iptables(macだとpfctl ?)で特定のnetwork宛の通信を ssh経由にねじまげてくれるのでvpnのように使える…

VMWareの仮想マシンのdiskを縮小してpartitionを削除する

https://www.experts-exchange.com/articles/12938/HOW-TO-Shrink-a-VMware-Virtual-Machine-Disk-VMDK-in-15-minutes.htmlvCenterからいじっただけでは縮小されないので。 linux VMの対応。N GBからM GBに縮小する例。 1. 削除するpartitionをumountしてfst…

共用サーバの接続制限で良さげな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ごとに同時アクセス数…

SSLアクセラレータ(reverse proxy)配下のnginxのcache_key

SSLアクセラレータ配下のnginxで http、httpsで個別のキャッシュにしたいときに、 この設定をいれると、一見$schemeでhttp/httpsに振り分けられて 出来そうに見えますが、このままだと同じキャッシュになります。 proxy_cache_key "$scheme://$host$request_…

SSLアクセラレータ(reverse proxy)配下のnginxで"/"なしのディレクトリにアクセスされたときのredirect

hogem.hatenablog.comだいぶ前のだけど。どうしてもSSLのままredirectさせたい場合の解決方法。やや強引だけど。-dでrequestがdirectoryに来て、かつ "/"がない場合はrewriteしてhttpsに飛ばす設定 if (-d $request_filename) { rewrite ^/(.*[^/])$ https:/…

big-ip ipv6 nat memo

VirtualServerにipv6 Poolにはipv4で作成したものを割り当てた場合、 通信失敗にはならなくて、自動的にbig-ipのv4のaddressでnatされてserverに送信される (snat automapしたときと同じ)

big-ip virtualserverに適用しているdefaultのSNIを入れ替える

やや面倒?clientssl-foo: foo.example.com sni default clientssl-bar: bar.example.com これを virtualserver example.com-httpsに適用している状態で bar.example.com をsniのdefaultにしたい前提: virtualserverに設定する段階では 複数のclient sslprof…

abとh2load の違い

ubuntu 14 LTS abはOSのapt h2loadは公式のsourceから取ってきたもの。 serverはHTTP/2対応ではなくて、HTTP/1.0、HTTP/1.1対応のserverで実験 abはHTTP/1.0で接続 keepaliveなし "Connection: close" よってnginxのdefaultだと圧縮されない - http://nginx.…

http benchmark ツール h2load

nghttp2 に含まれるh2load が便利らしい http://hb.matsumoto-r.jp/entry/2016/01/14/114048 https://nghttp2.org/ https://github.com/nghttp2/nghttp2 https://nghttp2.org/documentation/h2load-howto.html gitからとってきてコンパイルする。 libev、lib…

Big-IPでsorry serverにredirectする

poolが全滅、あるいはconnectioin limitにひっかかった場合にsorryサーバにリダイレクトさせたい場合。 connection limit入れたい場合 sorryサーバにリダイレクトしたい時に接続数制限をする場合はPoolのconnection limitを設定する。VirtualServerでConnect…

linuxでVMwareのvmdkイメージをmountする話

ストレージの機能で仮想マシンのイメージをsnapshotでとっていても、 実際にそのvmdkから特定のファイルを復旧する場合は、 そのsnapshotのファイルをコピーしてインベントリに登録、、、などまあまあ面倒。 だったらいっそのことvmdkを直接mountしたらええ…

RedHat/CentOS のphp/curlでGMO決済にsslで蹴られる現象の対応

GMO側がPCI DSS対応でTLS 1.2のみでの接続となってる。で、CentOS6でcurlで接続すると、 rpmでinstallされているcurl/opensslはtls 1.2に対応しているにも関わらずSSL Connect Errorで弾かれる。 (正確にはcurl直叩きではなくてphpから呼び出すcurl)curl-7.1…

stunnel でtlsで鍵認証をした上でsshする

http://qiita.com/albatross/items/390bf14db8b57c5a42f4 ずばり探し求めてたの発見。wifiなどでoutboundが80,443だけに制限されている場合、 aws上のサーバなどにsshが出来ない。てっとり早い対応はsshのportを443に変えてしまう。 sshdの設定で鍵認証だけ…

rsyncはdefaultでcopy時にsparse fileを作らない

ということを知った。 cpは元がsparse fileならcopy先もsparseになるから rsyncもそうだと思ってたけど違った。 rsyncは-S(--sparse) を指定しない場合はdefaultでsparseにしない。