タグ

ブックマーク / www.mk-mode.com (2)

  • プロキシ経由時のリモートアドレスについて!

    mk-mode.com Linux, Debian, IT, Server, PG, Ruby, Rails, Python, C++, Fortran, PC, MariaDB, math, GIS, etc... 少し前から当方の Ruby on Rails 製のホームページを Apache + Passenger から Nginx + Unicorn に変更して運用しています。 しかし当初、プロキシの関係で、アクセス解析処理の部分でリモートアドレスが正常に取得できなくなっていました。 以下、対応記録です。 1. 現象 Nginx でバックエンド(プロキシサーバ)へ HTTP ヘッダ情報を送信しているにも関わらず、Rails 側で環境変数 REMOTE_ADDR を取得すると全て “127.0.0.1” になってしまう。 Nginx のログでは正常にリモートIPアドレスが取得できるのを

    プロキシ経由時のリモートアドレスについて!
    plasma0713
    plasma0713 2021/08/27
    “Apache なら該当のモジュールを導入すれば良いですが、Nginx ではそれができない(知らないだけ?)ので、Rails 側でリモートIPアドレスを取得する際の処理を以下のように変更した。”
  • Linux - bash スクリプト二重起動チェック!

    #!/bin/sh # 二重起動チェック if [ $$ != `pgrep -fo $0` ]; then echo "Already running!" >&2 exit 9 fi # メイン処理 echo "[`date '+%Y/%m/%d %T'`] Sleep 10 seconds..." sleep 10 exit 0 $$ は、自分自身のプロセスID。 $0 は、自分自身のプロセス名(相対パス)。 pgrep -fo $0 は、自分自身のプロセスIDを取得。 メリット・デメリットについて メリットは、cron 実行しないのであればこれで充分である。 デメリットは、cron で実行された場合にチェックが効かない。 理由は、pgrep -fo $0 が cron で実行した際のプロセスIDとなってしまう(子プロセス($0)のプロセスIDにならない)ため。 2. 作成例(その2)

    Linux - bash スクリプト二重起動チェック!
    plasma0713
    plasma0713 2017/09/05
    いくつか試してみたけどここの3.が一番良さそう。
  • 1