apacheの最近のブログ記事

mod_proxyでバックエンドのサーバがいったんダウンすると、復旧しても一定時間(デフォルトでは60秒)は 503 Service Temporarily Unavailable になってしまう。

リトライするまでの時間は、ProxyPassディレクティブ の retry パラメータで指定することができる。
(ProxyPass ディレクティブのスキームが balancer:// で始まる場合は、対応する <Proxy> セクション中の BalancerMember ディレクティブに retry パラメータを指定できる。)

ProxyPass / http://localhost:3000/ retry=5
ProxyPassReverse / http://localhost:3000/
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
<Proxy balancer://mycluster/>
  BalancerMember http://localhost:9001 loadfactor=10 retry=5
  BalancerMember http://localhost:9002 loadfactor=10 retry=5
  BalancerMember http://localhost:9003 loadfactor=10 retry=5
</Proxy>

mod_proxy - Apache HTTP サーバ
ProxyPass には retry=?? を指定しておく - daily dayflower
BalancerMemberにはretry=??を指定しておく - cys b

カテゴリー:

カテゴリー:

カテゴリー:

テスト用の自己署名証明書を作成。

C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin>openssl genrsa 1
024 > ..\conf\server.key
Loading 'screen' into random state - done
Generating RSA private key, 1024 bit long modulus
.++++++
................++++++
e is 65537 (0x10001)

C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin>openssl req -new
 -x509 -days 3650 -key ..\conf\server.key -out ..\conf\server.crt
Unable to load config info from /usr/local/ssl/openssl.cnf


C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin>openssl req -new
 -x509 -days 3650 -key ..\conf\server.key -out ..\conf\server.crt -config ..\con
f\openssl.cnf
Loading 'screen' into random state - done
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:localhost
Email Address []:admin@localhost

あとは、httpd.confでmod_sslを有効にして、httpd-ssl.confのインクルードを有効にして、httpd-ssl.confを適当に設定する。

64bit Windowsに公式のApacheバイナリのインストーラ(32bit)でインストールした場合、WOW64なので既定ではインストールディレクトリが
C:\Program Files (x86)
の下になる。
そうすると、httpd-ssl.confの
SSLSessionCache "shmcb:C:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs/ssl_scache(512000)"
のところでエラーになる。
これは、(x86)のところが検出されてしまうから。
かっこが含まれないパスにApacheをインストールする必要がある。

カテゴリー:

RewriteRuleのenvフラグで環境変数をセットしておき、RequestHeader append で使う。

  RewriteEngine on
  RewriteRule ^/(.*)$ http://appserver/$1 [P,L,QSA,env=ORG_REMOTE_ADDR:%{REMOTE_ADDR}]
  ProxyPassReverse / http://appserver/
  RequestHeader append X_ORG_REMOTE_ADDR %{ORG_REMOTE_ADDR}e env=ORG_REMOTE_ADDR
  RequestHeader append X-Forwarded-Proto https

mod_rewrite - Apache HTTP Server

たまねぎプログラマハマリ日記:Apache内のCGI環境変数をTomcatに渡す。 - livedoor Blog(ブログ)

カテゴリー:

カテゴリー:

カテゴリー:

Ubuntuのapache2でDigest認証を設定したが、Internal Server Errorになった。
原因は、auth_digestというApacheモジュールが有効になっていなかったから。

$ sudo a2enmod auth_digest
$ sudo /etc/init.d/apache2 force-reload

で、auth_digestを有効にしたら、OK。

カテゴリー:

MacPortsでapacheやphpをアップデートすると、conf/extraとextra-conf下のファイルが上書きされてしまう。(conf直下のファイルは上書きされない。)

$ sudo port upgrade outdated

とかする前に、バックアップしておく必要がある。

カテゴリー:

カテゴリー: