Strapiなどのバックエンドをインターネット上から利用できるようにするには、リバースプロキシと呼ばれるサーバーを構築する必要があります。 最近ではnginxで構築されることが多いようですが、Apacheでもモジュールを使うことでかんたんに構築することができます。 特にすでにApacheでWebサーバーを運用している場合は、サクッとリバースプロキシを導入することができますので、nginxよりもおすすめです。 当記事では、Debian(ラズパイ)に構築したApache2.4にリバースプロキシを導入する方法を紹介していきます。もちろんラズパイのみならず、通常のPCサーバーであっても同様にセットアップできますので、ご安心ください。 モジュールの有効化 Apacheでリバースプロキシを構築するには、proxyモジュールとproxy_httpモジュールを有効にする必要があります。 シンボリックリンク
はじめに 今回はDockerを使ってapache上でPHP実行環境を構築し、Laravel新規プロジェクト作成までを行います。 Dockerとdocker-composeは用意できている前提です。 Docker version 18.06.0-ce docker-compose version 1.22.0 Apache 2.4 PHP 7.2 Laravel 5.7 構成 以下の構成を想定しています。 project ├── docker │ ├── Dockerfile │ ├── apache │ │ └── 000-default.conf │ ├── db │ │ ├── data │ │ ├── my.cnf │ │ └── sql │ │ ├── 001-create-tables.sql │ │ └── init-database.sh │ └── php
JVNVU#96961218 Apache Struts 2における外部からアクセス可能なファイルの脆弱性(S2-066) The Apache Software Foundationが提供するApache Struts 2には、外部からアクセス可能なファイルの脆弱性が存在します。
top > 開発ブログ > AWS > AWS App RunnerのPHPマネージドランタイムをApache + PHP-FPMの構成で動作させる こんにちは、ナカエです。本日はAWS App Runnerについての記事です。 App Runnerのデプロイ方法とマネージドランタイムのサポート追加 AWS App Runnerでは 自前でコンテナを用意するコンテナベースのサービス GitHubリポジトリにコードを用意するコードベースのサービス(マネージドランタイムを利用) の2パターンを選択できます。 先日、マネージドランタイムに複数の言語が追加され話題になりました。 参考:AWS App Runner がサポートするマネージドランタイムに PHP、Go、.Net、Ruby を追加 PHPのマネージドランタイムの問題点 新しくサポートされた言語には我らがPHPも含まれていましたが、AWS
facebook オフィス狛 技術部のJoeです。 数か月前になりますが、Apache HTTP Web Server 2.4系における複数の脆弱性に対応した Apache HTTP Web Server 2.4.41 が公開されました。 https://www.apachelounge.com/ 担当したプロジェクトのWindows Serverがアップデート要のバージョンであったため、Apacheのアップデートを行ったのですが、「インストーラーをダウンロードして実行」のように簡単にはいかなかったので、備忘も兼ねて記事にしてみました。 アップデートを実施した環境は以下になります。 ※OSやバージョンにより手順が異なる場合があるのでご注意ください。 OS:Windows Server 2012 R2 Apache:2.4.29 → 2.4.41 Apacheのアップデート ①Apacheの
概要 Apacheで「.htaccess」を有効にする方法を紹介します。「.htaccess」を有効するとディレクトリ毎にIP制限をおこなったりユーザー認証をおこなったりと色々と設定を行うことが出来ます。 「.htaccess」の ファイル名を変更する場合は、 AccessFileName ディレクティブを使って設定すれば、 ファイル名を変更する事ができます # vi /etc/httpd/conf/httpd.conf AccessFileName .config 「.htaccess」を有効にする設定 「.htaccess」を有効にするには、「AllowOverride」ディレクティブを変更することで有効になります 「.htaccess」を有効にする場合 後で説明しますが、「AllowOverride」では認証に関するディレクティブやモジュールに関するディレクティブなどを設定を柔軟にお
Apache + PHP-FPMでThread Safetyがdisabledとなる Apache + mod_phpはpreforkで動かす必要があると言われます。 preforkは子プロセスをforkして並べる方式で、起動した子プロセスの数 = 接続数の上限となるので、大量のアクセスをさばきたい場合は子プロセスを大量にforkする必要があり、メモリ効率が悪いし、子プロセスforkのオーバーヘッドが大きいです。 Apacheをworkerもしくはeventにするとやはりプロセスをforkして並べるものの、1つの子プロセスごとにマルチスレッドで複数の通信をさばけるので、メモリ使用率を抑えることができると言われます。 しかし、PHPの公式サイトには http://jp2.php.net/manual/ja/faq.installation.php#faq.installation.apach
こちらの年表をご覧になるとわかるように、LibreOfficeはOpenOffice.org(通称 OpenOffice)の後継プロジェクトです – クリックすると拡大します: 私たちは半年ごとに新しいメジャーバージョンをリリースしています – それではコミュニティと認定開発者が追加した数々の素晴らしい機能を見ていきましょう! 1. 相互運用性の改善 – .docx形式のエクスポート ワープロであるLibreOffice Writerは、Microsoft Officeで使われている .docx形式で文書をエクスポートできます。そのほかにも様々な相互運用性の改善が加えられています。(訳注:もちろん.docx形式だけでなく.xlsxや.pptxのエクスポートも可能ですし、再現性もOpenOffice.orgより段違いに向上しています。) 2. ノートブックバーUIを搭載 LibreOffic
Javaは長らくプロジェクトの立ち上げから最初のコーディングまでが重く、スクリプト系のプログラマから批判されてきた。それも最近のJShellやJBangの登場で変わってきた。静的型付け言語としての構文の重たさを除けば、ほぼスクリプト言語の感覚でプログラミングできる。 ちょっとしたタスクをスクリプティングでやるにも、これまではBashやPythonのようなスクリプト言語が主流だったが、今ではJavaも選択肢の1つになる。Javaのメリットは、(比較的重たい処理での)実行時の速さと何より非常に豊富なライブラリのエコシステムだ。 エコシステムという点では、Javaで最もライブラリが成熟した分野がいくつもある。その1つがインテグレーション(システム間の連携)で、Apache Camelはその代表的なライブラリ/フレームワークになる。 Apache CamelとJBangを組み合わせると、インテグレ
※補足 サーバー全体のメモリ使用量は前述の/proc/meminfoやfreeコマンドからでも出せるのですが それだとpsコマンドの結果と少しずれてしまうのでpsコマンドに統一しています。 計算 ここまでで分かった事を整理します。 サーバーの搭載メモリ = 約2GB ・・・① 現時点の総使用メモリ = 約920MB ・・・② うち、Apache子プロセスの使用メモリ = 約800MB ・・・③ Apache子プロセス以外の使用メモリ = 約120MB ・・・④(②−③) Apache子プロセス1つあたりが使うメモリ = 約40MB ・・・⑤ ここからざっくり計算していきます。 Apache子プロセス以外用に残すメモリ = 500MB ・・・⑥(④を元に超ざっくり&余裕を持って) Apache子プロセスで使うメモリ = 1500MB程度 ・・・⑦(①−⑥) 生成できるApacheプロセス数
ApacheをTLS1.3に対応させるには Apacheは、バージョン2.4.37からOpenSSl 1.1.1とTLS1.3に対応しています。 これ以降のバージョンをインストールし、適切な設定をしてやることで、TLS1.3に対応することが可能になります。 比較的新しいバージョンなので、自分でソースからビルドしてインストールする方法を取ることになります。 Apache と OpenSSL のバージョンについて Apache 2.4.37とOpenSSL 1.1.1は、共に脆弱性が発見されており、セキュリティアップデートが行われています。 ApacheとOpenSSLは、インストールする時点での最新バージョンを使うようにしてください。 Apacheのインストール 検証済み環境 CentOS 7.4 ~ 7.6 (Minimal 最小構成) CentOS 8.0(Minimal 最小構成) 他
多くのユーザーが、HireHopで使用するためにHTML5、JavaScript、CSSの機能を利用して素晴らしいドキュメントをいくつか作成しています。これらのドキュメントの場合、ユーザーはサーバーに保存する特別なフォントを必要とする場合がありますが、フォントがHireHopドキュメントで機能しない場合があります。これは、ブラウザーでのクロスオリジンリソースシェアリング(CORS)の制限が原因です。 フォントがドキュメントに読み込まれない ほとんどのWebブラウザーはクロスドメイン要求を許可しません。これは、同じ発信元のセキュリティポリシーが原因です。つまり、別のドメインのウェブフォントを使用すると、エラーが発生し、ブラウザやHireHopドキュメントでフォントが読み込まれないことがあります。 <style type="text/css"> @font-face { font-family
Apache HTTP Server is configured by placing directives in plain text configuration files. The main configuration file is usually called httpd.conf. The location of this file is set at compile-time, but may be overridden with the -f command line flag. In addition, other configuration files may be added using the Include directive, and wildcards can be used to include many configuration files. Any d
本脆弱性は、2021年12月9日(木)、Javaのログ出力ライブラリ「Apache Log4j」について外部からの任意コード実行が可能なものとして公開されました。脆弱性の深刻度を示すCVSS v3(共通脆弱性評価システム)スコアは最高値である10.0(緊急)となり、悪用の容易さや影響を受けるシステムが多岐にわたります。Apache Log4jの脆弱性が公表されてから、ラックにも多数の組織より自社環境に影響があるのか、どのように確認すればよいのか、という相談をいただいています。既に国内企業でも被害が確認されており、当社のセキュリティ監視センターJSOCより注意喚起を発表しました。 ラックでは、これをデジタル化社会の危機的状況と捉え、企業のビジネスにおいて不可欠となっているWebアプリケーションへの影響を早期に確認したいお客様を支援するため、Apache Log4jの脆弱性を診断するサービスを
TL;DR 外部サイトにアクセスする際に、プロキシを踏まなければならない でも、使うソフトウェアがプロキシに対応していない Apacheでリバースプロキシを立てて、対象のソフトウェアの代わりにApacheにプロキシを踏んでもらおう 透過型プロキシとか言わない そんな、なんとかしてプロキシ環境から外に出たいお話。 環境 Ubuntu Linux 18.04 LTSで行います。 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.4 LTS Release: 18.04 Codename: bionic
[xxx.xxx.xxx.xxx]:47716 - - [08/May/2013:10:26:10 +0900] "GET / HTTP/1.1" 200 4658 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)" AWS ELBの場合 X-Forwarded-Portを使えればいいのですが、これはサーバ側(送信先ポート番号)です なので、ALB/ELBでアクセスログを取得するしかありません。 方法は、ALB/ELBの属性の編集から、アクセスログを有効化します。指定のS3バケットに保存されます。 このログのclient:portに保存されます AWSLogs/xxxxxxxxxxxx/elasticloadbalancing/ap-northeast-1/202
Ubuntuのバージョン毎に、Apacheのバージョンが固定化されているのです。 大体半年ほど前にリリースされたバージョンのApacheが採用されています。 現時点(2022年4月末)では、この差異はそれほど問題にはなりません。 ただ、時間の経過とともに、OS標準のApacheのバージョンは古くなっていきます。 そうすると、セキュリティ的に無視できないことになってしまいます。 そこで、最新のApacheをインストールすることを考えます。 なお、Ubuntu 22.04におけるOS標準のApacheは次のコマンドで確認できます。 $ sudo apt show apache2 Package: apache2 Version: 2.4.52-1ubuntu4 Priority: optional Section: web Origin: Ubuntu Maintainer: Ubuntu D
ログの集約機能を提供する「Apache Flume」に深刻な脆弱性が明らかとなった。 「同1.4.0」以降において「JNDI(Java Naming and Directory Interface)」を処理する「JMSMessageConsumer」に脆弱性「CVE-2022-34916」が明らかとなったもの。細工されたLDAPのURIデータを処理するとリモートよりコードを実行されるおそれがある。 米国立標準技術研究所(NIST)の脆弱性データベース「NVD」において、共通脆弱性評価システム「CVSSv3.1」のベーススコアは「9.8」、重要度は「クリティカル(Critical)」とレーティングされている。 開発チームでは、8月16日に機能の強化や脆弱性の修正を行った「同1.10.1」をリリースした。 (Security NEXT - 2022/08/31 ) ツイート
前回の記事 では、Cloud Dataflow と Apache Beam に入門しました。その続きとして、今回は BigQuery に対してストリーミングインサートをしてみます。 また、Cloud Pub/Sub と組み合わせることで Exactly-once を実現できるので、合わせて検証します。 ソースコード データソース 事前準備 イメージのビルド 処理内容 Beam パイプライン Pipeline ReadFromPubSub ParDo(ParseMessage()) WriteToBigQuery まとめ ソースコード 今回実装したものはこちらにあります。 github.com Docker で Beam 環境をつくりましたので、GCP プロジェクトをお持ちであればさっと試せるようになっています。 エラーハンドリングは無なので、目をつぶっていただけると... データソース デ
LTS版は、Ubuntu 20.04が最新です。 そして、Ubuntu 20.04の場合、2.4.41がOS標準のApacheのバージョンとなります。 Apache 2.4.41は、約2年前のバージョンです。 ちなみに最新は、Apache 2.4.46となります。 そもそも、Apacheの更新頻度は高くないようですね。 そうだとすると、できる限りで最新バージョンのApacheを利用したくなります。 一つ一つのバージョンアップには、それだけ意味があると言えからです。 上記より、OS標準のソフトウェアには良い面も悪い面もあるということです。 以上、OS標準のApacheについての説明でした。 次は、aptコマンドで最新版Apacheをインストールする方法を説明します。 aptコマンドによる最新版Apacheのインストール まずは、Ubuntu 20.04のOS標準であるApacheのパッケージ
The Apache Software Foundationから、Apache HTTP Server 2.4系における複数の脆弱性に対応したApache HTTP Server 2.4.56が公開されました。 The Apache Software Foundationから、Apache HTTP Server 2.4系における次の複数の脆弱性に対応したApache HTTP Server 2.4.56が公開されました。 mod_rewriteとmod_proxyにおけるHTTPリクエスト分割の問題 - CVE-2023-25690 mod_proxy_uwsgiにおけるHTTPレスポンス分割の問題 - CVE-2023-27522 想定される影響は各脆弱性により異なりますが、次のような影響を受ける可能性があります。 攻撃者によって、プロキシサーバのアクセス制御をバイパスされたり、キャッ
年 名前 何 2004 MapReduce 大規模データの分散処理フレームワーク。Google発表。 2006 Apache Hadoop 大規模データの分散処理フレームワーク。 参考:分散処理技術「Hadoop」とは(NTTData) 2007 Apache Cassandra Facebookが開発した分散データベース(key-value)。 2010 Apache Hive Hadoop上で動作するDB。HiveQLでデータ操作ができる。 2010 Apache HBase GCPのBigTableをモデルとした分散データベース。 2011 Apache Kafka スケーラビリティに優れた分散メッセージキュー。 2014 Apache Spark 大規模データの分散処理フレームワーク。 参考:Apache Sparkとは何か(@IT) 2016 Apache Beam 大規模データ
The Apache Software Foundationから、Apache HTTP Server 2.4系における複数の脆弱性に対応したApache HTTP Server 2.4.60が公開されました。 CVE-2024-36387 Apache HTTP Server 2.4.55 から 2.4.59 CVE-2024-38472、CVE-2024-38473、CVE-2024-38474、CVE-2024-38475、CVE-2024-38476、CVE-2024-38477、CVE-2024-39573 Apache HTTP Server 2.4.0 から 2.4.59 The Apache Software Foundationから、Apache HTTP Server 2.4系における次の複数の脆弱性に対応したApache HTTP Server 2.4.60が公開され
はじめに Apache HTTP Server(以下、Apache)でURLがらみの設定をする際のメモです。 URL関連では、Redirect系、Rewrite系、ProxyPass系を使うことが多いかと思います。これらの設定の順序に関してメモにまとめたいと思います。 順序 判定順序 Apacheは以下の順序で判定を行います。 Rewrite系 ProxyPass系 Redirect系 Rewrite系は処理を行うのみ(継続するか、そこで終わるかは指定しだい)ですが、ProxyPass系とRedirect系はマッチする定義があるとそれ以降の判定を行いません。 Rewrite系内の判定順序 定義として書いてある順番に順次判定していきます。 ProxyPass系内の判定順序 定義として書いてある順番に順次判定していき、最初に条件にマッチした設定を実行します。このため、以下の順序で書くと混乱が少
Jul 19 2009 Mar 6 2014 Mar 25 2015 Dec 8 2017 Jan 31 2023 もともとはDebian GNU/Linux Ver18.0 で apache2.4 を設定したときのメモですが CGIがうまく動かなくなったのでDebian GNU/Linux Ver11.4 bullseye にてCGIが動くように 書き換えました 下の方にrubyのCGIを動かすための設定もあります。 関連 OpenSSL対応 WebDav設定メモ Webアクセスログ解析 ブログサーバtdiaryの設定 1 インストール 2 設定 (0)設定手順の基本事項 ※wheezyでの注意事項 設置ファイルの空白は[tab]を使わずスペースを使う。[tab]を使うとなぜかCGIがうまく動かなかった。 基本的に設定は /etc/apache2/conf-aveilabl
apacheのインストール、https対応 前に書いた自分の記事を参考にできます。 ubuntu18.04+apacheでhttps対応 mod_wsgiのインストール 注意 flask公式を見ると、apt-get install libapache2-mod-wsgiでインストールしろという記述がありますが、これをやるとpython2系のmod-wsgiが入ってしまいます。python3系を使いたい場合は避けましょう。 https://flask.palletsprojects.com/en/1.1.x/deploying/mod_wsgi/ apacheでpythonのwebアプリを作るにはmod_wsgiが必要です。 mod_wsgi パッケージは、Python WSGI 仕様をサポートする任意の Python ウェブアプリケーションをホストすることができる、使いやすい Apache
「Apache HTTP Server」の開発チームは、複数の脆弱性を解消した最新版「Apache HTTP Server 2.4.54」をリリースした。 今回のアップデートは、「mod_sed」「mod_lua」「mod_proxy_ajp」をはじめ、モジュールや関数などに明らかとなった脆弱性を修正したもの。 脆弱性によって影響は異なるが、脆弱性を悪用されると、情報漏洩やサービス拒否、意図しないサーバへの改ざん、認証の回避などが生じるおそれがある。 重要度は、「mod_proxy_ajp」にあきらかとなった「HTTPリクエストスマグリング」の脆弱性「CVE-2022-26377」が4段階中、上から3番目にあたる「中(Moderate)」とされており、他脆弱性はもっとも低い「低(Low)」とレーティングされている。 今回のアップデートで修正された脆弱性は以下のとおり。 CVE-2022-2
The Apache Software Foundationから、Apache HTTP Server 2.4系における複数の脆弱性に対応したApache HTTP Server 2.4.59が公開されました。 CVE-2023-38709 Apache HTTP Server 2.4.58およびそれ以前 CVE-2024-24795 Apache HTTP Server 2.4.0から2.4.58まで CVE-2024-27316 Apache HTTP Server 2.4.17から2.4.58まで The Apache Software Foundationから、Apache HTTP Server 2.4系における次の複数の脆弱性に対応したApache HTTP Server 2.4.59が公開されました。 Apache HTTP Serverのコア機能におけるHTTPレスポンス分
A cluster management framework for partitioned and replicated distributed resources Quick Demo This demo starts 3 instances with id’s as localhost_12001, localhost_12002, localhost_12003 Each instance stores its files under /tmp/<id>/filestore localhost_12001 is designated as the master, and localhost_12002 and localhost_12003 are the slaves Files written to the master are replicated to the slaves
こんにちは、インフラチームテックリードの櫻井です。 今回は1台のサーバーで複数のステージング環境を同時に使用できるように設定を変更したので、その方法について紹介したいと思います。 背景 PR TIMESでは現在開発チームとは別にQAチームが存在し、開発チームの実装したコードが正しいことをステージング環境で検証しています。 しかし今まではステージング環境のサーバーが1台しかなく、誰かがステージング環境を使用している間、他の人は別のブランチをデプロイすることができないという問題がありました。 この状況ではQAチームの人員を増やしたところで検証作業のスピードを上げることができず、QAが開発フローの中でボトルネックになることは避けられない状況でした。 この状況を打破するため、複数のステージング環境を同時に使うことができるようにする必要がありました。 Apache設定の変更 今回サーバー1台で複数の
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く