タグ

HTTPとapacheに関するgouei2001のブックマーク (35)

  • POST をリダイレクトすると GET になる件について調べた - 理系学生日記

    とある事情により、POST リクエストをリダイレクトさせる必要が生じました。単純にリダイレクトさせてみたところ、リダイレクトはされるものの、POST リクエストに付与していた HTTP_BODY が取得できません。どうも、リダイレクト時に GET に変更されているみたいです。 ぼくは怒りに震えたものの、RFC 的にはどう振る舞うべきなんだ、各種ブラウザの振舞いはどうなっているんだ、ということが気になったのでまとめてみました。内容としては、 -POSTリクエストをリダイレクトするとGETされる?POSTされる? - はこべにっき ♨ の二番煎じになります。 先に結果を示しておくと、以下のとおりでした。 Status Code 期待動作 Firefox (25.0.1) Safari(7.0) Chrome (31.0) 301 POST GET GET GET 302 POST GET GE

    POST をリダイレクトすると GET になる件について調べた - 理系学生日記
  • NginxとApache HTTP Serverの違いメモ - Qiita

    マルチプロセスモデル : 接続ごとにプロセスをフォークするのでメモリがいっぱいになりやすい 利点 : メモリ空間が独立しているので、スクリプト言語が組み込みやすい 欠点 : 同時接続が増えるとメモリが欠乏しやすい → とは言え、モジュールを使えば、イベント駆動モデルにもできるよ。Nginxには及ばないけど。 イベント駆動モデル : 1プロセス内で、接続ごとにイベント処理を行う。1プロセス1CPUなので、CPUの数だけワーカープロセスが作成できる。 利点 : 接続数が増えても、プロセス数やスレッド数が増えない。消費メモリが増えない 欠点 : 1つのメモリ空間で動作するため、スクリプト言語を組み込めないことがある。 → とは言え、プロキシサーバとして利用すれば、スクリプト言語を呼び出せるよ。 ではApache HTTP Serverを利用するメリットは WindowsサーバだとApacheのほ

    NginxとApache HTTP Serverの違いメモ - Qiita
  • Apacheとnginxどちらを採用すべきかメリット・デメリット比較 - Qiita

    Apacheよりnginxの方が早い、という話を聞きました。それぞれのメリット/デメリットや速度比較について調べた内容をまとめます。 そもそもApacheとnginxは駆動方式が違う Apacheとnginxの大きな違いは駆動方式の違い。詳しくは下記サイトがわかりやすい。 http://dream-web.info/2013/12/19/533/ Apacheは、プロセス駆動アーキテクチャでマルチプロセス。これは、各リクエストをプロセスに割り当てて処理を行う。リクエストが大量に来た際、プロセスが同時に起動するのでオーバーヘッドが非常に大きくなるというデメリットがある。 nginxは、イベント駆動アーキテクチャ、シングルスレッドモデル。 シングルスレッドでループ処理をまわし、キューに溜まったイベントを処理していく処理方式(イベントループ方式)(node.jsなどでも採用)。プロセス数はCPU

    Apacheとnginxどちらを採用すべきかメリット・デメリット比較 - Qiita
  • mod_log_config - Apache HTTP サーバ

    Please note This document refers to the 2.2 version of Apache httpd, which is no longer maintained. The active release is documented here. If you have not already upgraded, please follow this link for more information. You may follow this link to go to the current version of this document.

  • ワンライナーWebサーバを集めてみた - Qiita

    クライアントサイドのJavaScriptをいじっていて,不意にローカルファイルでは実行できない領域に踏み込んでしまうことがあると思います.最近では,HTTPSが必須であったり,HTTP2を使ってみたくなることもあります.とりあえず私が踏み込んでしまったのはWebWorkersですが,他にもWebRTCや・・・(思い出し中)・・・(見つからなかった)・・・などが該当します. そんな時にいちいちApacheやnginxを立ち上げるのも面倒なので,ちょっと検索した結果を残しておきます. [2018/4/18追記] 最近ではHTTPSを使用する必要が高まっています.これを受け,HTTPSに対応する方法が増えてきたので,全て網羅できませんが,可能な限り追記・変更を行いました. PythonSimpleHTTPServer)編 Pythonでは(バージョン2.4以降限定らしいですが)モジュールをスク

    ワンライナーWebサーバを集めてみた - Qiita
  • AWS ELB(Elastic Load Balancer)を使うときの注意点 - Qiita

    はじめに ELB導入時に注意すべき点があったので、紹介します。 特に注意すべき、以下の点について紹介します。 KeepAliveの設定 リダイレクトの設定 ELBを配置するVPCサブネットの大きさ ELBを配置するVPCサブネットのACL WebサーバにKeepAliveを設定する ELBからWebサーバへ接続する際に、TCP KeepAlive機能を有効にすることで、TCPコネクションを維持し、接続効率を向上させることができます。 例えば、Apacheでは以下の設定項目を修正します。 Keepaliveのタイムアウト時間は、長めに取ることで効果を得ることができます。 検索すると120秒という文献が多く出てきますが、ちょっと古い記事がほとんどです。 もしかすると、昔はタイムアウト時間が60秒に固定されていたのかもしれませんが、現在はタイムアウト時間も設定することができるため、サービスに応じ

    AWS ELB(Elastic Load Balancer)を使うときの注意点 - Qiita
  • AWS環境でELB(ロードバランサー)とEC2サーバでapacheを使っている場合にhttpからhttpsにリダイレクトする方法 – joppot

    サーバ AWS環境でELB(ロードバランサー)とEC2サーバでapacheを使っている場合にhttpからhttpsにリダイレクトする方法 概要 みなさんこんにちはcandleです。今回はマニアックな記事ですが、恐らくスタートアップ企業などではわりと使う内容だと思うのでまとめておきます。 この方法が全てのサービス上でベストなやり方なのかどうかは正直分かりません。紹介する内容はリダイレクトさせる1つのやり方です。 下のようなAWS環境でリダイレクトを行いたいと思います。 この環境ではELBとユーザー間でhttps通信をする事で、それぞれのEC2サーバにSSLの設定をしなくてすみます。サーバとELB間ではhttp通信をしています。 今回はELBにSSLの設定をする方法は説明しません。すでに、ELBにSSLの登録がされている事が前提になります。 その上で、httpからhttpsへリダイレクトさせる

    AWS環境でELB(ロードバランサー)とEC2サーバでapacheを使っている場合にhttpからhttpsにリダイレクトする方法 – joppot
  • Apacheのinternal dummy connectionとELBのHealth Checkログ出力を抑える | SIBYL System

    Apacheの「/var/log/httpd/access_log」を確認していたら、以下のログが頻繁に発生していました。 ::1 - - [24/May/2015:15:34:37 +0900] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.2.29 (Amazon) (internal dummy connection)" ::1 - - [24/May/2015:15:34:38 +0900] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.2.29 (Amazon) (internal dummy connection)" ::1 - - [24/May/2015:15:34:39 +0900] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.2.29 (Amazon) (int

  • Apacheのアクセスログの見方 | setup | OSS Fan

    概要 RHEL 5.9のインストールメディアに同梱されている Apache HTTP サーバのアクセスログ(/var/log/httpd/access_log)の 見方をまとめます。 Apacheではサーバが受信したHTTPリクエストを1件につき1行のログとして アクセスログに記録します。見方はあまり難しくないのですが、 どの部分が何を表しているのか分かりづらいので整理します。 なお、初期状態ではアクセスログが出力される設定になっていますが、 設定ファイル(httpd.conf)を変更することで、 出力先のファイルを指定することや、出力させないこともできます。 構成 想定環境 Apacheの設定ファイルパス /etc/httpd/conf/httpd.conf アクセスログのフルパス /var/log/httpd/access_log サーバ構成 OSバージョン Red Hat Enter

  • Apache requests stuck in '..reading..' state

    We've recently been hitting our maxclients (300) on our server and are noticing a lot of connections are stuck in the R reading state. Here's an excerpt from our server-status dump: Current Time: Monday, 29-Apr-2013 11:46:00 PDT Restart Time: Monday, 29-Apr-2013 11:03:48 PDT Parent Server Generation: 0 Server uptime: 42 minutes 12 seconds Total accesses: 144170 - Total Traffic: 29.8 MB CPU Usage:

    Apache requests stuck in '..reading..' state
  • SubversionとApacheの連携の設定(Windows編)

    前回の記事(Subversionサーバーをインストール(Windows編))では、svnserveを利用して、主にLAN内のネットワークでのリポジトリ管理を実現しました。 今回は、もうひとつのリポジトリ共有方法である、Apacheサーバを使用してみましょう。これにより、インターネット経由や、もう少し規模の大きいプロジェクトでのリポジトリ共有が実現できます。 Apacheのインストール 最初に、Windows版のApacheをインストールします。これはそれほど手間のかかる作業ではありません。 このページからApache2.2をダウンロードします。今回は、「httpd-2.2.22-win32-x86-no_ssl.msi」としました。 ダブルクリックして、インストールしましょうね。 リポジトリをWebDAV経由で公開する設定 Apacheのインストールが終了したら、subversionのリポ

    SubversionとApacheの連携の設定(Windows編)
  • TCPロードバランシングELBのバックエンドApache on EC2でIPアドレス制限をかける | iret.media

    前提環境 SSL通信をHTTPSロードバランシングではなくTCP(443)ロードバランシングELBで実現している。 (SSLドメインを複数持つバックエンドEC2を、単一のELBのみでやりくりさせている等の事情で) 課題 ELBはTCPロードバランシングの際には、X-FORWARDED-FORヘッダを付与しない為、ローカルIPアドレスをバックエンドEC2へ伝えられない。 TCPロードバランシングELBでもPROXY protocolを有効にすればローカルIPアドレスをバックエンドに伝えられるが、apacheがデフォルトでPROXY protocolに対応していない。 実現方法 ELBのPROXY protocolを有効にしてバックエンドにクライアントIPアドレスを渡す apacheはデフォルトだとPROXY protocol未対応である為、PROXY protocol対応モジュールを追加実装

    TCPロードバランシングELBのバックエンドApache on EC2でIPアドレス制限をかける | iret.media
  • Apacheで簡単にリバースプロキシ構築(SSL通信転送付き)

    リバースプロキシサーバーの環境 Apache 2.2.3 + mod_proxyを使ってリバースプロキシを構築しています。OSは「CentOS5.6」。 httpd.confの編集 # vi /etc/httpd/conf/httpd.conf <IfModule mod_proxy.c>  ←コメントアウトされているので、コメントインする ProxyRequests Off ←フォワードプロキシ機能の無効化 <Proxy *> ←プロキシ利用者のアクセス制御はここで設定 Order deny,allow Allow from All ←とりあえず全許可 </Proxy> <VirtualHost *:80> ← VirtualHostで80ポートを指定しないと、HTTPS(443)もここで処理されてしまう ServerName リバースプロキシのIPまたはFQDN:80 ←なくても動く?

    Apacheで簡単にリバースプロキシ構築(SSL通信転送付き)
  • Apacheのリクエスト処理時間(%T or %D)は正確には何の時間か — ありえるえりあ

    Apacheのログに%T or %Dでリクエスト処理時間を載せることができます。%Tと%Dは内部的には同じ計算値で、単位が異なるだけです(%Tは秒、%Dはマイクロ秒)。 このリクエスト処理時間は、いつからいつまでの処理時間でしょうか。つまり計測時間の開始と終了はどのタイミングでしょうか。 終了はレスポンスデータをsend(2)し切ったタイミングです。 開始として思いつくのは次の3つのタイミングです。 listenキューに入ったタイミング(3wayハンドシェイクの最初のACKを受けたタイミング) accept(2)が返ったタイミング(3wayハンドシェイクの最後のACKを受けたタイミング) リクエストデータをrecv(2)する前 実はどれも間違いです。正解は、リクエストデータの1行目のリクエスト行を読み終わったタイミングです(ソースコードで言うと server/protocol.cのread

  • サーバの負荷テストのための、何百万ものHTTPリクエストを発生させる方法 | POSTD

    (注記:6/9、いただいた翻訳フィードバックを元に記事を修正いたしました。) 今回の記事は毎秒300万ものリクエストを処理できるほど強力で高性能なWebクラスタの構築についてのパート1になります。まず初めに、あまり多くはありませんが、私がこれまで使用したことのあるロードジェネレータツールをいくつか紹介します。私のようにてこずって時間をかけてしまわないよう、今回の記事が理解の手助けになれば幸いです。 ロードジェネレータはテストを目的とした数種類のトラフィックを発生させるプログラムです。それによって高負荷においてサーバがどのように動いているか、そのサーバの弱点はどこなのか、などが見えてきます。負荷テストを通じてサーバの限界を知ることは、サーバのレジリエンシーを測定する最適な方法であり、あらゆる問題に対する準備の手助けにもなります。 ロードジェネレータツール 負荷テストをする際に頭に入れておくべ

    サーバの負荷テストのための、何百万ものHTTPリクエストを発生させる方法 | POSTD
  • mod_securityでWebサーバを守る(第1回) | ソフテック

    一体、Webサイトを持たない組織は今どれくらいあるでしょうか。 Webサーバを自前で持つ、ホスティングサービスを利用する、など運用形態はさまざまですが、Webサイトを持たない組織はほとんどないと思える程に Webは普及しています。 ファイアウォールはほとんどの組織で導入済みであり、多くのWebサーバはファイアウォールの中で運用されているのが一般的です。 しかしながら、最も普及しているファイアウォールはIPアドレス、ポートレベルでのフィルタリングです。この方法でのフィルタリングでは、許可していないサービスが持つ脆弱性を狙った攻撃を阻止できるため有用ではありますが、HTTPを許可している場合Web自体への攻撃に対して無力です。一方で、HTTPを不許可にした場合にはWebサイトへアクセスできなくなってしまうため来の目的を達成できません。しかもここ数年、Webサイトを狙ったワームや不正アクセスは

  • SERVER_NAMEとHTTP_HOSTの違い:phpspot開発日誌

    Chris Shiflett: SERVER_NAME Versus HTTP_HOST SERVER_NAMEとHTTP_HOSTの比較。 次のように値を取得すると一見、どちらも同じ値を取得できます。(値はリクエストしたサーバのホスト名) $_SERVER["SERVER_NAME"]; $_SERVER["HTTP_HOST"]; ただ、それぞれにおいて、取得方法が違ってきます。 HTTP_HOSTはリクエスト時に host:〜 で指定した値が返され、 SERVER_NAMEは、リクエスト時の host:〜 を使うものの、指定が無い場合は httpd.conf等に記述したServerNameディレクティブがデフォルトで使われます。 更にSERVER_NAMEはhtmlentitiesによってエスケープされるようです。 リクエストヘッダーの値をそのまま取りたい場合はHTTP_HOSTを使

  • 【apache】server-status at softelメモ

    問題 Apacheの稼働状況を簡単に確認したい。 答え mod_status を有効にすると、server-statusが利用できる。 コマンドラインでは コマンドラインからだと、以下のコマンドで確認できる。 apachectl fullstatus Web画面では 設定 Web画面で確認するには、apacheの方に設定を追加する。 <Location /server-status> SetHandler server-status #安全のためには以下のようなアクセス制限の設定もすること Order Deny,Allow Deny from all Allow from 111.222.333.444 </Location> URL http://該当のWebサーバー/server-status で閲覧できる。引数は以下が指定できる。 http://ホスト名[:ポート番号]/server

    【apache】server-status at softelメモ
  • HTTP リクエストの処理完了までの所要時間をログに記録する

    Landscape トップページ | < 前の日 2005-12-27 2005-12-28 次の日 2005-12-29 > Landscape - エンジニアのメモ 2005-12-28 HTTP リクエストの処理完了までの所要時間をログに記録する 当サイト内を Google 検索できます * HTTP リクエストの処理完了までの所要時間をログに記録するこの記事の直リンクURL: Permlink | この記事が属するカテゴリ: [IIS] [Apache] [http] http リクエストの処理にかかった時間をロギングする方法のメモ。 集計や分析、パフォーマンス劣化の監視などで活用するため、http サーバ側でリクエストを処理したあとレスポンスを返すまでどれだけ時間がかかったかを記録したい。 所要時間などの値は http サーバ上で動くアプリケーション側でロギングする仕組みを作るの

  • PHPでHTTPS接続をする - HHeLiBeXの日記 正道編

    PHPから何かしらのAPIをたたいたりするときに必要じゃないか、ということで、環境作成と接続テストをしてみる。 環境構築 環境は以前に作ったものをベースにする。(Apache httpd 2.2/PHP 5.3) PHP実行環境構築メモ - HHeLiBeXの日記 正道編 自己署名証明書でテスト環境構築その他諸々(何) - HHeLiBeXの日記 正道編 (実際は、Ubuntuの仮想マシン上でも構築、と思ったのだが、特に設定が必要ない状態だったので割愛) 設定自体は楽なもので、今回使用する環境ではphp.ini内の以下のコメントを外すだけ。 ;extension=php_openssl.dllあと、後述のサンプルを実行するには、URLをファイルとして開くことが許可されていることが必要らしい。 ; Whether to allow the treatment of URLs (like ht

    PHPでHTTPS接続をする - HHeLiBeXの日記 正道編