タグ

apacheに関するk-holyのブックマーク (82)

  • Apache Prefork+mod_phpからEvent+PHP-FPMへの切り替えた記録(CentOS7) - YOMON8.NET

    Apache のPrefork MPM + mod_phpで運用していたシステムを、Apache Event MPMに変更したので、その際の記録を残したいと思います。 ApacheのPrefork MPMは「プロセス数=同時接続数」です。しかし、Apacheに割り当てられるメモリには当然限りがあり、Preforkで増やせるプロセスに制限をかける必要があります。つまり接続数に限界がでてくることになります。 KeepAlive Offだと、性能頭打ちするし。。。KeepAlive Onにすると、パラメータ調整が難しく、大丈夫だと思っても、いきなり不安定になるときがあったり。。。設定しては負荷検証を繰り返し繰り返しと戦ったあげく、アーキテクチャをEvent MPMにすることにしました。 このあたりは、似たようなことされているこちらのブログも参考になるかと。 Apacheをpreforkからeve

    Apache Prefork+mod_phpからEvent+PHP-FPMへの切り替えた記録(CentOS7) - YOMON8.NET
  • Apache 便利コマンド集 - Qiita

    conf ファイルにシンタックスエラーがないか確認するコマンド。 再起動前に必ず確認しよう。 service httpd configtest や apachectl configtest でもほぼ同様だが上記の方が打鍵数が少ない。 再起動 緩やかな再起動。 前述の構文チェックが自動で走り、シンタックスエラーがあった場合は再起動されない。 service httpd graceful や apachectl graceful でも同様だが上記の方が打鍵数が少ない。systemctl graceful httpd は機能しない。 graceful を検証している記事 1 でうまく動作していない報告もあるので、CentOS 7 では systemctl reload httpd の方がいいかもしれない。 エラーログ [Sun Jan 01 09:00:00.054284 2017] [cgi:

    Apache 便利コマンド集 - Qiita
  • Apacheのevent MPMのパフォーマンスチューニング方法

    Apache2.4からMPMモジュールのデフォルトがevent MPMになって久しいですが、それのパフォーマンスチューニングをしようと思うと設定項目がそれなりにあり、なにげに難しいです。ググってもまとまった情報がいまいち無かったのでまとめてみました。 event MPMの構造 event MPMは基的にはworker MPMと同じマルチプロセスでマルチスレッドなサーバです。ひとつのプロセス内にひとつのリスナースレッドと複数個のワーカースレッドがあり、さらにそのプロセスが複数個存在するという構造になっています。各プロセスではリスナースレッドが接続を受け付け、それをワーカースレッドに渡して処理を完了させるということを行っています。プロセス内のワーカースレッドの数は固定で、ワーカースレッドの数はワーカープロセス単位で増減します。 worker MPMではkeep aliveなどの待ちが発生する

    Apacheのevent MPMのパフォーマンスチューニング方法
  • CentOS7にApache2.4最新版をyum installする

    Updated 2017.01.05 / Published 2017.01.05 CentOS7.3(1611)にyumでApache2.4をインストールしようとした場合、2017年1月の現時点ではApache2.4.6系の古いバージョンが通常インストールされてしまいます。HTTP/2の処理をするmod_http2はApache2.4.17のバージョンからのため、HTTP/2を導入するにはこれ以降のバージョンが必要です。2017年1月執筆時点ではApache2.4.25(mod_http2 のサービス運用妨害の脆弱性 - CVE-2016-8740にも対応済)が最新版です。Apache2.4.25をCentOS7にインストールする方法をGoogleで検索しても、ソースコードからインストールする手順を公開しているところしか見当たらなかったため、稿では最新のRPMパッケージを揃えているIU

    CentOS7にApache2.4最新版をyum installする
    k-holy
    k-holy 2019/06/10
    パッケージ版のOpenSSLがHTTP/2非対応バージョンなのmod_http2対応版のApacheを入れても無理だと…。
  • Apacheロードバランサで負荷分散。冗長化構成を開発環境でも。~負荷分散と冗長化の基礎を添えて~

    公開日 2018.7.1更新日 2018.7.1カテゴリ:Apacheタグ:Linux,CentOS,Apache,LoadBalancer,Redundancy

    Apacheロードバランサで負荷分散。冗長化構成を開発環境でも。~負荷分散と冗長化の基礎を添えて~
    k-holy
    k-holy 2019/05/13
    Apache mod_proxyでstickeysessionによるセッション維持
  • LB配下のLet’sEncrypt更新を自動化

    常時HTTPS化がすすみ、多くのサイトが常時HTTPS(SSL)になってきています。 Let’s Encryptを使用してHTTPS化を実現しているところも多くありますが、そこで問題になるのがロードバランサ(LB)配下に複数のWebサーバーがある場合の証明書更新です。 Let’s Encryptは、90日ごとの更新が必要で、LB配下に複数のWebサーバーがある場合には、この更新作業が繁雑になりがちです。 今回は、このLB配下のWebサーバーで安全に簡単にLet’s Encrypt証明書の更新を行うための方法をご紹介いたします。 想定している環境 FQDN: www.example (LBによりwww01とwww02,www03にバランシング)Webサーバー1: www01(192.168.1.101) / マスターWebサーバー2: www02(192.168.1.102) / スレーブ1

    LB配下のLet’sEncrypt更新を自動化
    k-holy
    k-holy 2019/05/13
    Apacheロードバランシング環境で証明書の更新を自動化する方法。リバースプロキシでACME認証のアクセスを固定ホストに集めて、証明書ファイルの更新後にrsyncで同期。
  • 正しく圧縮、素早く送信、mod_deflateの設定方法 | なうびるどいんぐ

    このブログでは、帯域の削減とページ表示を高速化する目的でgzip圧縮して転送しています。 ただ、「Apache deflate 設定」とかで調べると「ん?、それ必要なの?/間違ってない?」と思う様な設定例が沢山ヒットします。 「自分の設定が完璧だ!」と主張するつもりはありませんが、少しでも正しい(と思える)情報を掲載したいので。 圧縮して転送すると? 圧縮して転送するのはページの表示速度を向上する目的でもほぼ全方位からおススメされている方法です。 圧縮にCPUリソースを利用しますが、上り帯域の節約や転送に掛かる時間が短縮される事を考えるとむしろプラスです。(一般的に、ネットワークを含むI/O操作はCPUを遊ばせます) この時代にmod_deflateが使えない鯖の方が少ないと思うので、出来る事ならばやっておいた方が良いでしょう。 良くある間違った例 以下の様な例が良くヒットしますが、間違っ

    正しく圧縮、素早く送信、mod_deflateの設定方法 | なうびるどいんぐ
  • Apache2で国別許可・遮断(GeoIP) | ユーロテック情報システム販売株式会社

    IPアドレスから位地情報を割り出すGeoIP GeoIP(GeoIP2)は、MaxMind社(社:米国マサチューセッツ州ウォルサム)が提供するIPアドレスから位地情報を割り出す仕組みです(Software+データベース情報)。GeoIPには、結果として得られるデータの粒度の違い(大陸>国>都市>郵便番号 etc.)によっていろいろな有償サービスが提供されています。 MaxMind社のホームページ(日語) オープンソース製品 GeoLite MaxMind社はGeoIP2のオープンソース版としてGeoLiteという名称で、ソフトウェアと無償データベースを無償で提供しています。GeoLiteのデータベースは以下のものが提供されています。それぞれ、CSVとバイナリの二つのフォーマットが利用可能です。 GeoLiteCountry: IPアドレス から国を特定 GeoLiteCity:   I

  • [Apache2.4] yum経由でApache2.4 をインストールしてPHP5.6を動かすまで - Qiita

    タグがめっちゃ使いにくくなってる… そして下書き保存すると、タグが保存されない。。 概要 いまさらながら、Apache2.4をCentOS6.6にインストールしてPHP5.6を動かす。 Apache2.4 インストール # cd /etc/yum.repos.d # wget https://repos.fedorapeople.org/repos/jkaluza/httpd24/epel-httpd24.repo # yum reinstall --enablerepo=epel-httpd24 httpd24

    [Apache2.4] yum経由でApache2.4 をインストールしてPHP5.6を動かすまで - Qiita
  • Apache認証をSQLでRDBMSへ連携する mod_authn_dbd と mod_dbを使う。 - それマグで!

    Apache のDigest認証って便利なんだけど Apache のパスワード認証がSQLで出来たら楽じゃん。htpasswd コマンドでファイルを置いておくと、管理が面倒になってきて書き散らかす。なにより有効期限とか決めたいじゃん。 かといってLDAPを聞いたりPAMに投げるのは、PAM・LDAPにガンガンユーザー増やすことになって意じゃないし。なんかいい方法ないかとApacheのDocumentをあさってたら dbd とか便利そうなの見つけた。 Fileの代わりにデータベース(SQL:RDMBS)を使える。 mod_db 使ってみた。 mod_db で認証をSQLで連携できる 仕組みとしてはApacheにDigest(Basic)認証で、パスワードをファイルじゃなく、RDBMSSQLを使うことになる。 mod_dbd を使うことで、次のようなパスワード連携が可能になる。 httpリ

    Apache認証をSQLでRDBMSへ連携する mod_authn_dbd と mod_dbを使う。 - それマグで!
    k-holy
    k-holy 2018/07/04
    RDBMSでApache HTTP認証
  • Apache2.2の設定ファイルをApache2.4に移植するためにやったことまとめ - Qiita

    Apache2.2からApache2.4 に移行する場合、設定ファイルをそのまま持ってきても動きません。 数日格闘したら解決できたのですが、 これからやる人が同じ苦労をしなくてすむようにノウハウを記録しておきます。 下記は、Apache2.2/CentOS6 から Apache2.4/CentOS7 に移行するための方法です。 他のディストリビューションでも似たようなものだと思います。 公式マニュアルを見ておきましょう 2.2 -> 2.4 アップグレードガイドがあります。 http://httpd.apache.org/docs/2.4/new_features_2_4.html http://httpd.apache.org/docs/2.4/upgrading.html ただ、すごく分かりにくいのと、CentOS固有(ディストリ固有)の情報は書いてないので、実際に動かしてエラーを1個

    Apache2.2の設定ファイルをApache2.4に移植するためにやったことまとめ - Qiita
  • HTTP/2 に対応した Apache を yum でインストール | あぱーブログ

    これまで HTTP/2 に対応した Apache httpd をインストールするには、関連するライブラリを含めソースからコンパイルしなければならないため、なかなかの手間がかかっていました。しかし CentOS7.4 (1708) から OpenSSL1.0.2 がサポートされたことにより、CentOSコミュニティ承認済みの IUSリポジトリから yum で簡単にインストールできるようになりました。そこで今回は、IUSリポジトリを使って HTTP/2 に対応した Apache httpd をインストールする手順をまとめてみました。 (参考資料)CentOSコミュニティ承認リポジトリ一覧 AdditionalResources/Repositories - CentOS Wiki IUS プロジェクトについて リポジトリを公開してくれている IUSプロジェクト歴史は古く、米ホスティングサービ

    HTTP/2 に対応した Apache を yum でインストール | あぱーブログ
  • ApacheでPHP-FPMを動かすなら、ProxyPassMatchではなくSetHandlerを使うのがいいらしい - Qiita

    ApacheでPHP-FPMを動かすなら、ProxyPassMatchではなくSetHandlerを使うのがいいらしいPHPApachephp-fpm

    ApacheでPHP-FPMを動かすなら、ProxyPassMatchではなくSetHandlerを使うのがいいらしい - Qiita
  • Apache 2.4 の DoS攻撃対策 mod_dosdetector 設定メモ

    mod_dosdetector は、DoS攻撃を検出することができる Apache httpd のモジュールです。mod_dosdetector で検出したDoS攻撃のアクセスを mod_rewrite でエラーページなどにリダイレクトさせることで、DoS攻撃対策をすることもできます。そこで今回は、mod_dosdetector のインストール方法と設定手順をまとめてみました。 下準備 今回のサーバー環境は以下の通りです。 CentOS 7.3 (1611) Apache httpd 2.4 apxs コマンドのインストール mod_dosdetector をインストールするにあたって apxsコマンド(Apacheのモジュールをコンパイルしれくれるツールです)が必要になりますので、インストールしておきます。apxsコマンド は httpd-devel パッケージに含まれています。

    Apache 2.4 の DoS攻撃対策 mod_dosdetector 設定メモ
  • apacheのmod_dosdetectorでDos(F5アタック)対策 - Qiita

    方式 apacheで同一IPアドレスからの連打を検出した場合アクセスを拒否するか、 特定の静的なページに飛ばすことでサーバの負荷を低減させる。 有名なのは下記の2つだが、今回は mod_dosdetector を選択した。 mod_evasive 即アクセス禁止になるため、特定のエラーページ等への遷移ができない(かもしれない)。 目的からすれば充分だが、エンタープライズでは 意図せぬ連打(F5の上に置きっぱなし状態とかも)した顧客に いきなり403を見せるというのは結構キツイ。 何より、apacheをpreforkで動かしている場合 子プロセス単位の個別でアクセス数がカウントされるため (サーバ単位でアクセスをカウントしてくれないため) httpサーバやpreforkの設定次第では、結構連打したけど防いでくれないとか、普通にあり得る。 こちらは同一IPから一定時間内に一定数以上のアクセス

    apacheのmod_dosdetectorでDos(F5アタック)対策 - Qiita
  • ウェブサイトの攻撃兆候検出ツール iLogScanner | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構

    ウェブサイトの攻撃兆候検出ツール iLogScanner 概要 iLogScannerは、ウェブサーバのアクセスログから攻撃と思われる痕跡を検出するためのツールです。 ウェブサイトのログを解析することで攻撃の痕跡を確認でき、一部の痕跡については攻撃が成功した可能性を確認できます。また、SSHやFTPサーバのログに対しても、攻撃と思われる痕跡を検出することができます。

    ウェブサイトの攻撃兆候検出ツール iLogScanner | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構
  • ApacheのMPMについて - shibainu55日記

    今日はApacheのMPMについて書いてみる。MPMは、Apache HTTP サーバではリクエストを処理する部分のことを指し、Apacheを使用する上でMPMはとっても大事なもの。Apache HTTP サーバ 2.0系から採用されている。MPMの種類は以下の4通り。 prefork worker perchild winnt 【参考】ApacheのMPMの確認方法だが、Linux環境でのMPMの確認例は以下の通り。 # /usr/sbin/httpd -l Compiled in modules: core.c prefork.c http_core.c mod_so.c prefork MPM 一番代表的な prefork MPM について。prefork MPM の特徴は、次のとおり。 Apache HTTP サーバ 1.3 系以前のモデル 1 つのリクエストに対して、1 プロセス

    ApacheのMPMについて - shibainu55日記
  • Apacheのチューニングメモ - Qiita

    個人的Apacheチューニングのメモ。 間違いがあったら教えて下さい! prefork 前提 Apacheでは、リクエストはApacheの子サーバプロセスが処理する。 子サーバプロセスは動的にforkで生成されたり、殺されたりする。 が、forkはとても重い処理なので、forkが発生しないように設定するのがよい。 チューニング方針 負荷が高かろうが低かろうが常に一定数のプロセスが動いている状態にする。 preforkの動作 MaxClientsは絶対値。 子プロセス数はこの値を超えない。 (以下正確ではないですが簡単に) Apacheは負荷が高くなってきたら 子プロセスを生成していく アイドル状態の子プロセスはMinSpareServers以上になるよう維持 MaxClients以上の子プロセスは生成しない MinSpareServersよりMaxClientsが強い 負荷が低くなってきた

    Apacheのチューニングメモ - Qiita
  • いまさらながら Apache HTTP Server についてまとめてみた - Qiita

    特徴 Apache は非常に高機能だが、高機能故に、一般的に重いとされている。C10K が問題になってきた現状、代替を求める声が大きくなってきた。 チューニング 設定項目は多くあるが、実際に触るべきところは多くない。実際に動かしてみて、その都度ボトルネックを解消するために設定を変えていく方がいい。 注意したい項目 HostnameLookups off off になっていることを確認 on 担っていると、ログファイルにホスト名を出力するために DNSLookup を行ってしまう 無駄なログを出さない ログのローテートを行い、ログファイルの容量が大きくならないように設定 設定でログフォーマットを適切に設定 無駄なモジュールをロードしない あまり効果はないという報告もある なにがロードされているかは把握する必要あり .htaccess を無効にする リクエストのたびに存在チェックと読み込みを行

    いまさらながら Apache HTTP Server についてまとめてみた - Qiita
  • hashdos攻撃をmod_securityで防御する(CentOS+yum編)

    このエントリでは、hashdos対策としてのmod_securityの導入と設定の方法を説明します。CentOS環境でyumによりApacheを導入しているサイトに対して、yumによりmod_securityを導入するというシナリオで説明します。 はじめに既に当ブログで報告の通り、hashdosと呼ばれる攻撃手法が公表されています。HTTPリクエストのパラメータ名に対するハッシュ値を故意に同一にした(衝突させた)ものを多数(数万程度)送信することにより、Webサーバーを数分程度過負荷にできるというDoS攻撃手法です。まだhashdosによる攻撃事例は報告されていないようですが、既に攻撃コード(PoC)が公表されているため、いつ攻撃が起こっても不思議ではない状況です。 PHPも影響を受けるプラットフォームであり、PHP5.3.9で対処予定となっていますが、まだPHP5.3.9はリリースされて