Apache



Sitemap | Profile | タグ一覧
最近の更新
ドライランのありがたみを改めて知る
2024/04/04
伊豆半島
2024/03/31
お出かけチェックリスト
2024/03/29
Ruby
2024/03/27
Kubernetes
2024/03/22
音楽データをDisplayAudioで聞く
2024/03/09
Redmine
2024/02/05
git
2024/02/02
経済
2024/01/08
どうする家康
2023/12/17
MX-Linux
2023/11/06
國體関連学-休学のご連絡
2023/08/13
Debian
2023/08/02
CentOS
2023/06/13
Dell-XPS13
2023/05/23
ベルト
2023/05/18
SourceForge
2023/04/17
確定申告
2023/02/19
さらば「まぐまぐ」
2023/01/09
風猷縄学
2022/11/23


[-] 1. apache2 + ssl + proxy

  1. ssl 設定
    $ sudo a2enmod ssl
    $ sudo a2ensite default-ssl
    $ sudo /etc/init.d/apache2 restart
  2. proxy 設定
    $ sudo a2enmod proxy
    $ sudo a2enmod proxy_http
  3. /etc/apache2/site-enables/default-ssl の proxy directive 設定
    ProxyPass        /proxy/ http://BACKEND_HOST:PORT/PREFIX
    ProxyPassReverse /proxy/ http://BACKEND_HOST:PORT/PREFIX

[-] 2. apache2 + ssl

[-] 2.1. この節、Ubuntu 10.04, 11.04 では不要

[-] 2.1.1. create SSL keys

$ sudo apt-get install ssl-cert     # Ubuntu 10.04, 11.04 では不要

SSL 証明書のインストールは /usr/share/doc/apache2/README.Debian.gz を 参照の事。

[-] 2.1.2. 自己証明

$ cd /etc/apache2
$ sudo mkdir ssl
$ sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
[-] 2.1.2.1. create ssl apache conf

add following at /etc/apache2/ports.conf:

Listen 443

modify following at /etc/apache2/site-enabled/000-default:

|NameVirtualHost *:443
|NameVirtualHost *:80
|
|<VirtualHost *:80>
|	:
|</VirtualHost>
|
|<VirtualHost *:443>
|  SSLEngine on
|  SSLCertificateFile /etc/apache2/ssl/apache.pem
|	:
|</VirtualHost>

[-] 2.2. module, site の enable化と再起動

$ sudo a2ensite default-ssl
$ sudo a2enmod ssl
$ /etc/init.d/apache2 restart

[-] 3. Uncategorized Note

htdigest 認証のユーザ登録の方法:

$ sudo htdigest /etc/trac/htdigest 'Subversion Project' user

[-] 4. Apache1.x Install

  1. mod_ssl の前提条件:
  2. 以下を download & untar
    • apache1.3.33 (2005-10 以降) apache1.3.31 (2004-08 以降) apache1.3.2[8,9]
    • mod_fastcgi-2.4.[0,2]
    • mod_ssl-2.8.24-1.3.33.tar.gz (2005-10以降) mod_ssl-2.8.19-1.3.31.tar.gz (2004-08以降)
      mod_ssl-2.8.16-1.3.29.tar.gz
  3. fastcgi
    1. source を apache source にコピー
      $ cd apache_1.3.31/src/modules/
      $ mkdir fastcgi
      $ cd fastcgi
      $ cp -r ../../../../mod_fastcgi-2.4.2/* .
  4. mod_ssl
    ./configure --with-apache=../apache_1.3.31
  5. Apache
    1. cd apache_1.3.31
    2. INSTALL に書かれてあるように "SSL_BASE=SYSTEM" とすると、 Vine デフォルトの /usr/bin/openssl, /usr/lib/... を 参照するようになるので、明示的に /opt/openssl を指定する:
      $ export SSL_BASE=/opt/openssl
      なお、OpenSSL は既に install したものを使用するので、
      --with-ssl=../openssl-0.9.x
      は必要ない。
    3. configure
      $ ./configure \
            --prefix=/opt/apache_1.3.31 \
            --enable-module=ssl \
            --enable-module=rewrite --enable-shared=rewrite \
            --activate-module=src/modules/fastcgi/libfastcgi.a \
            --disable-rule=EXPAT
      NOTE 1: mod_rewrite は、
      <a href="document.html:SSL">
      といった拡張機能をサポートする。同一ホスト内で SSL と非SSL の間を 相対パスで指定できるようにするために必要。 NOTE 2: SOAP::Lite を入れた時に expat も入ったようだが、 これが Apache 付属の expat-lite と衝突しているのか、 このあとの make が error となる。
      --disable-rule=EXPAT はそれを回避するオプション。
    4. make
    5. make certificate [TYPE=custom]
      • 注意: TYPE=custom オプションとする場合、server の FQDN と認証局(CA)の FQDN は異なるもの(例えば server = example.com, CA = example0.com。CA は実在してなくてもよさそうだ) にしておかないと、Apache 実行後の browser からのアクセス時に
        mod_ssl: SSL handshake failed (server nike.100acre.net:443,
                client 192.168.0.10) (OpenSSL library error follows)
        OpenSSL: error:14094412:SSL routines:SSL3_READ_BYTES:sslv3 alert bad certificate [Hint: Subject CN in certificate not server name or identical to CA!?]
        というエラーが出る。これに数日はまった(-_-)。
    6. make install
  6. permission, owner の調整
    # cd /opt/apache_1.3.31
    # find . -exec chmod o-rwx {} \;
    # find . -exec chown [MYNAME]:[MYNAME] {} \;
  7. logs/, conf/ を /var/opt/apache/, /etc/opt/apache に移動し、 symlink を張っておく。
  8. httpd.conf の変更点:
    MinSpareServers 1
    StartServers    1
    Port            7000
    User            [MYNAME]
    Group           [MYGROUP]
  9. スタート
    $ umask 027
    $ /opt/apache/bin/apachectl startssl
    NOTE: umask をしておかないと、/opt/apache/logs/ に User が file を作成 できないようだ。

[-] 5. Tips

[-] 5.1. 証明書の内容を表示

$ openssl x509 -inform pem -in x.crt -text

[-] 5.2. zive.net → dip.jp ドメイン変更時の SSL 対応メモ

  1. 自己認証局の作成
    $ openssl genrsa -des3 -out ca.key 1024
    Enter pass phrase for ca.key: *******
    Verifying - Enter pass phrase for ca.key: *******
  2. 自己認証による ca.crt の作成
    $ openssl req -new -x509 -days 365 -key ca.key -out ca.crt
    Enter pass phrase for ca.key: *******
      :
    Country Name (2 letter code) [AU]:JP
    State or Province Name (full name) [Some-State]:Tokyo
    Locality Name (eg, city) []:Metro
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Company
    Organizational Unit Name (eg, section) []:
    Common Name (eg, YOUR name) []:ecample.com
    Email Address []:[MYNAME]@example.com
  3. server.key (Private key) の作成。 pass-phrase の聞かれない PEM version key も引き続き作成。 CSR(著名要求)も作成。
    $ openssl genrsa -des3 -out server.key 1024
    $ openssl rsa -in server.key -out server.key.unsecure
    $ openssl req -new -days 365 -key server.key.unsecure -out server.csr
      :
    Country Name (2 letter code) [AU]:JP
    State or Province Name (full name) [Some-State]:Tokyo
    Locality Name (eg, city) []:Metro
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Company
    Organizational Unit Name (eg, section) []:
    Common Name (eg, YOUR name) []:example.com
    Email Address []:[MYNAME]@example.com
  4. 自己認証局を使って、server.csr に著名 -> server.crt が作成
    $ /home/[MYNAME]/p/ext/openssl/sign.sh server.csr
  5. server.crt, server.key.unsecure を apache server に install:
    $ scp server.crt [MYNAME]@[HOST]:/opt/apache/conf/ssl.crt/dip-server.crt
    $ scp server.key.unsecure [MYNAME]@[HOST]:/opt/apache/conf/ssl.key/dip-server.key.unsecure
  6. /opt/apache/httpd.conf の以下の行に、新たに install した crt, key を指定:
    SSLCertificateFile /opt/apache_1.3.29/conf/ssl.crt/dip-server.crt
      :
    SSLCertificateKeyFile /opt/apache_1.3.29/conf/ssl.key/dip-server.key.unsecure
      :
  7. その他、httpd.conf の中の zive.net を dip.jp に書き換え。
  8. サーバの再起動
    # /opt/apache/bin/apachectl stop
    # /opt/apache/bin/apachectl startssl
  9. 動作確認

[-] 6. History

2004-08-19:セキュリティ対策として Apache1.3.31, mod_ssl-2.8.19 に更新。
2004-04-07:?
2003-07-22:作成





Generated by juli 2.3.2