Post tagged: cattoy

nginxでimage filter

前回、画像プロキシを使って外部画像を読み込むようにしました。

画像サイズが大きいものもあり、PageSpeed Insightsに怒られることがあります。 今回は画像をキャッシュしつつリサイズします。

参考

すべて同一サーバーで運用しています。

tlsimg.cattoy.info

画像フロントサーバー

httpsで待ち受けるサーバーです。ここが入り口になります。

キャッシュもここでします。

proxy_cache_keyに使用する$arg_w, $arg_h, arg_qがリサイズパラメータになります。 それぞれ幅、高さ、jpeg qualityです。

バックエンドがomacなので、$document_uriにhmacのキーを含んでいるため、サイズ指定以外は$document_uri があればユニークになります。

  server {
    server_name tlsimg.cattoy.info;
    location / {
      proxy_pass http://localhost:8889;
      proxy_cache TLSIMG;
      proxy_cache_key "$host$document_uri$is_args&$arg_w&$arg_h&$arg_q";
      proxy_cache_lock on;
      proxy_cache_valid …

AllegroGraph その2

AllegroGraphが動くようになったので、データ作って投入します。

データはcattoyから作ります。

こんなかんじ にRDF出力コードを仕込んだので、

g = RDF::Graph.new.tap {|g| Cat.all.each {|c| g << c.to_rdf }}
File.open('/tmp/cat.ttl', 'w') {|f| f << g.to_ttl }

でファイルに吐き出します。 なかみはこんなかんじです。

@prefix schema: <http://schema.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://www.cattoy.info/histories …

cattoyに画像proxyを入れました

cattoy.infoでは外部画像を結構な数表示しています。 外部画像にはhttpでしかアクセスできないものもあり、せっかくwww.cattoy.infoが https接続でも警告が出てしまいます。

ちょうど、次の記事 Camoで実現するセキュアな画像プロキシサーバ を見かけたので

camoクローンをocamlで作ってみました。 https://github.com/holrock/omac

まだおもちゃみたいなものですが、一応本番で動いています。

構成は https -> nginx(cacheもここで) -> http -> omac -> [画像server]

今のままだとomacが落ちてもnginx側のキャッシュが有効で気がつかないことがあるようなので、 そのうちなんとかしないと。

ほかにもデーモン化やログ管理なんかもやらないといけないのですが、なんとなく動いてしまうと満足してしまいますね。

cattoy memo

  • https://www.cattoy.info
    • Cat Exercise Wheelの使ってくれなさのあまり作りました。
  • さくらVPS mem1G/2Coreプラン
  • CentOS 6.8
  • nginx
    • http2に対応するためビルドした
    • ついでにLibreSSLにした
nginx version: nginx/1.11.5
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 
built with LibreSSL 2.5.0
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx-1 …