apache httpd
当方ではこちらを使う機会が多い。ただ一画面に複数のイメージ画像を表示させるのならnginxが有利と聞く。
ここでは構造式表示をタイル形式で表示するばあであろうと思われるRDKit/Cartridge/web

Digest認証

ここではメモ的なことを列挙する

VirtualHost

一台のマシンで複数のwebサイトを用意するには?httpdの定義で作成可能。今ではdockerを使うのもありなのでしょうか
VirtualHostディレクティブを使用して複数のサイトを作る。
名前ベースです。なのでDNSでcnameらでサイトを作るが、指し示すIPは同じ。
弊サイトはddnsで1つのIPを頂いてweb.chapreon.jpを名前として登録している。例えばこれにcnameとして

  • alpha.chaperone.jp
  • beta.chaperone.jp
  • gamma.chaperone.jp

を作り、すべてweb.chapreon.jpに繋がるようにするとする。
そしてhttpd.confにおいて

 :
<VirtualHost *:80>
    ServerName web.chaperone.jp
    DocumentRoot "/var/www/html"
</VirtualHost>
<VirtualHost *:80>
    ServerName alpha.chaperone.jp
    DocumentRoot /var/www/alpha
</VirtualHost>
<VirtualHost *:80>
    ServerName beta.chaperone.jp
    DocumentRoot /var/www/beta
</VirtualHost>
<VirtualHost *:80>
    ServerName gamma.chaperone.jp
    DocumentRoot /var/www/gamma
</VirtualHost>
 :

とすれば、それぞれのリクエストのあったサイトごとにコンテンツ(/var/www/{html,alpha,beta,gamma})が応答するようになる

proxy

内部のwebコンテンツを表示させたい場合
大抵はルーターなどで外部から直接内部へは繋げられない。そこで中継役proxyを立てて内部コンテンツを外部に流す。
2017y05m21d_223003288.png

ここでは、内部の 2nd.sybyl.local/abc/ コンテンツを外部で web.chaperone.jp/abc/ として提示する例を示す
web.chaperone.jpで

[root@c ~]# vi /etc/httpd/conf/httpd.conf
   :
  ProxyPass /abc  http://2nd.sybyl.local/abc/
  ProxyPassReverse /abc  http://2nd.sybyl.local/abc/
[root@c ~]#

とする

VirtualHostにproxyを噛ませてsslで

下記はweb.chaperone.jpとalpha.chaperone.jp(Proxy経由で内部のalpha.sybyl.local)をhttpsで公開する設定の例

  • ProxyPass/ProxyPassReverseの相手先が「http」であること
  • SSLCertificateの3ファイルはcertbot で「-d web.chaperone.jp -d alpha.chaperone.jp」で用意される
  • alpha.sybyl.localにcertbot で「-d alpha.chaperone.jp」を用意する必要はない
SSLCertificateFile /etc/letsencrypt/live/web.chaperone.jp/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/web.chaperone.jp/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/web.chaperone.jp/chain.pem
<VirtualHost *:443>
  ServerName             web.chaperone.jp:443
  DocumentRoot           "/var/www/html"
</VirtualHost>
<VirtualHost *:443>
  ServerName             alpha.chaperone.jp:443
  SSLProxyEngine         on
  ProxyPass          /   http://alpha.sybyl.local/
  ProxyPassReverse   /   http://alpha.sybyl.local/
  SSLProxyCheckPeerCN    off
  SSLProxyCheckPeerName  off
</VirtualHost>

ログフォーマット変更

既存のアクセスログの日付部分が

[16/Apr/2017:03:33:04 +0900]

と表記される。っが、読みにくい、加え加工し辛いのでLogFormatを使ってもう一つログファイルを作ってみた
既存のログファイル(access_log)は、fail2ban向けに使用させるのでそのまま

[root@c ~]# vi /etc/httpd/conf/httpd.conf
 :
LogFormat "%a %{%Y-%m-%d %H:%M:%S}t \"%r\" %>s %b" common
CustomLog "logs/common_log" common
 :
[root@c ~]#

httpdの再起動後に有効となり、

192.168.0.10 2017-04-17 14:33:37 "GET /w/index.php?chaperone HTTP/1.1" 200 99814

なログを書き出すようになる。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2017-08-21 (月) 00:02:01 (1d)