家studyをつづって

家studyをつづって

PR

×

プロフィール

kinada3

kinada3

バックナンバー

2026年06月
2026年05月
2026年04月
2026年03月
2026年02月

キーワードサーチ

▼キーワード検索

コメント新着

ラッキー@ Re[2]:1.セキュリティとリスクマネジメント(CISSP)(04/22) kinada3さんへ お返事いただき、有難うご…
kinada3 @ Re[1]:1.セキュリティとリスクマネジメント(CISSP)(04/22) ラッキーさんへ コメントをいただきまして…
ラッキー@ Re:1.セキュリティとリスクマネジメント(CISSP)(04/22) コメント失礼致します。 すごく参考になり…
kinada3 @ Re[1]:ubuntuをかじる(10/14) Apapaさんへ コメントをいただきありがと…
Apapa@ Re:ubuntuをかじる(10/14) Ubunteを使っていますが機械を変えてとこ…

フリーページ

2019年04月01日
XML
カテゴリ: HTTP
Apacheとは
Apacheは1995年に開発が始まり、同年の11月に1.0版がリリースされた。その後、2002年4月5日に2.0.35版がでて、1系、2系の併存が続いた。
1系については、2010年1月にサポートが終了した。

Apacheの歴史
Apache2.4 2012年2月21日リリース
Apache2.2 2005年12月1日にリリース
Apache2.0 2002年4月5日にリリース。標準でSSLに対応
Apache1.3 1.3.0は1998年7月6日にリリース

HTTPのURL
http:// www.domain.com:80/html/index.html
http://     スキーム名。使用するプロトコル。
www      ホスト名のホスト部
domain.com   ホスト名のドメイン部
80       ポート番号
html/index.html パス名

HTTPのリクエストとレスポンス
HTTPでサーバとクライアントがやりとりするメッセージは基本的に以下のような形になっている。
メッセージヘッダ
空行(CR+LF)
メッセージボディ





Apache2のインストール(Ubuntuの場合)

自分でソースコードからインストールを行う場合、脆弱性等が確認された際には、更新バージョンのソースコードを取得してコンパイルし、サイドインストールしなおす必要がある。

実行コマンド(インストールからサービス起動まで)
・sudo apt-get install apache2
・sudo service apache2 start

設定ファイル(httpd.conf)
CentOSでは/etc/httpd/conf/httpd.confにファイルがある。
Ubuntuの場合は/etc/apache2/apache2.confが対象ファイルとなる。
また、/etc/httpd/conf.dディレクトリがある場合、当該ディレクトリ配下の.confファイルが追加で読み込まれる。
一般的に、サーバ全体の設定についてはhttpd.confを修正し、追加モジュール等や仮想ホストの設定は上記ディレクトリ配下に設定ファイルを追加して利用する。
また、設定ファイル内では、全体設定と範囲を指定した設定の2種類が記載されている。
・Global Configuration・・・ServerRoot "/etc/apache2"等
・セクションコンテナ設定
 ※設定の例
 <Directory />
         Options FollowSymLinks
         AllowOverride None
         Require all denied
 </Directory>

ドキュメントルート


Indexes(ファイルの一覧表示機能)
<Directory /var/www/>
Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

デフォルトでは、ドキュメントルートで有効になっている。この場合、Webサーバの公開ディレクトリに直接アクセスを行うと、ディレクトリ内に存在するファイルの一覧が表示され、ディレクトリ内のファイルの一覧を取得することが可能となる。その場合、以下のような情報が流出するリスクがあげられる。
  • 公開を意図しないファイル
  • バックアップファイル
  • 一時ファイル
  • 隠しファイル(ドットで始まるファイル名のファイル)
  • ファイルの命名規則
  • 設定ファイルによるサーバ設定情報
  • スクリプトファイルによるサーバ内部処理情報

ユーザごとの公開ディレクトリの設定
たとえばユーザのホームディレクトリにある「public_html」を公開ディレクトリにすることができる。
ディレクトリ:/home/enokinada/public_html/index.html
URL:http://www.server.com/~enokinada/index.html

仮想ホスト
Apacheの機能で、複数のサイトを一台のサーバで運営するための機能。
http:// www .domain.jpとhttp:// media .domain.jpをひとつのサーバで受けるようなイメージ。

アクセス制御
Orderディレクティブで設定する。


リンクの制限
Refererのリンク元のURLによりアクセスを制限できる。
SetEnvIf Referer:***

エラーメッセージの変更
httpd.confの末尾に以下の設定を追記することでエラーページを差し替えることが可能。
ErrorDocument 404 /404.html
404:ステータスコード
/404.html:エラードキュメントファイルのパス(ドキュメントルートを起点)

ステータスコードについて
サーバーからブラウザに返してくるコードのことをステータスコードという。
  • 100番台 案内(インフォメーション)
  • 200番台 正常処理
  • 300番台 移転通知
  • 400番台 (クライアントにおける)処理失敗
  • 500番台 サーバエラー
100 Continue その時点までのすべてに問題がなくクライアントはリクエストを継続してよい、またもしリクエストが完了している場合は無視してよいことを示す。
101 Switching Protocol このコードはクライアントの Upgrade リクエストヘッダーのレスポンスとして送信され、サーバーはプロトコルを切り替えていることを示します。
102 Processing (WebDAV) このコードは、サーバーはリクエストを受け取って処理しているが、まだレスポンスを提供できないことを示します。
200 OK リクエスト成功
201 Created リクエストは成功し、その結果新たなリソースが作成されたことを示します。これは一般的に、 POST リクエストや、一部の PUT リクエストを送信した後のレスポンスになります。
301 Moved Permanently このレスポンスコードは、リクエストされたリソースの URI が変更されたことを示します。おそらく、新しい URI がレスポンス内で与えられるでしょう。
400 Bad Request このレスポンスは、構文が無効であるためサーバーがリクエストを理解できないことを示します。
401 Unauthorized HTTP 標準では "unauthorized" (不許可) と定義されていますが、意味的にはこのレスポンスは "unauthenticated" (未認証) です。つまり、クライアントはリクエストされたレスポンスを得るためには認証を受けなければなりません。
403 Forbidden 認証されていないなどの理由でクライアントにコンテンツのアクセス権がなく、サーバーが適切なレスポンスの返信を拒否していることを示します。 401 とは異なり、クライアントの識別子がサーバーに知られています。
404 Not Found サーバーがリクエストされたリソースを発見できないことを示します。
500 Internal Server Error サーバー側で処理方法がわからない事態が発生したことを示します。
502 Bad Gateway このエラーレスポンスは、リクエストの処理に必要なレスポンスを受け取るゲートウェイとして動作するサーバーが無効なレスポンスを受け取ったことを示します。

HTTPの認証の仕組み
HTTPの認証はログインやログアウトの状態は保持していない。Web認証が必要なページにアクセスすると、サーバはAuthorization:ヘッダーを確認できないため、認証が必要というステータスをレスポンスで返信する。ブラウザは応答の内容を元に認証ダイアログを表示する。
その後、ユーザが入力した認証情報をAuthorization:ヘッダーにつけてサーバへアクセスする。
ブラウザを閉じるまでは同じAuthorization:ヘッダーをつけてリクエストを送り続ける。

ファイルタイプの定義
Webサーバが保持するデータをクライアントが取得・処理する際には、データの種類を判断する必要がある。データ形式はWebサーバ側で設定されており、MIMEタイプで定義されている。
HTMLファイル:text/html
JPEGファイル:image/jpeg等

CGIについて
Webサーバは通常、特定のファイルの内容をユーザに返すが、CGIを使うことでプログラムの出力結果を返すことができる。
つまり、ユーザはApacheを通じてプログラムを実行し、その結果を受け取っていることになる。
CGIは結果をHTML形式で返す。

CGIを使ってみる








お気に入りの記事を「いいね!」で応援しよう

最終更新日  2019年04月08日 23時28分32秒
コメント(0) | コメントを書く
[HTTP] カテゴリの最新記事


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: