apacheのバーチャルホストの設定と解決

Apacheのバーチャルホストの設定と解決

1. HTTPD-vhosts.confを変更

ファイル/conf/extra/httpd-vhosts.conf apacheの(Apache24)を開き、仮想ホスト情報を追加し、別のドメイン名は、別のディレクトリにだけ指すことができます

<VirtualHostの*:80 > 
    SERVERADMIN amyliyanice @ 163 このアドレスの問題にメールを送信する.COM#サービス管理者のメールボックスアドレス
    のDocumentRoot D:/ APPSERV / WWW / WX 」#Apacheのデフォルトのサイトのディレクトリには、パスのランプの最後に追加しないでくださいライン
    のServerName wx.dev#ドメイン
    にServerAlias www.wx.devの#サイトエイリアス(記入しない)
    のErrorLog " ログ/ wx.dev.log " #エラーログ
   のCustomLogを" ログ/ wx.dev.log " 共通#のカスタムログ
 < / VirtualHost>の

<ディレクトリ/>ルートディレクトリ(ルートディレクトリ上にある次のような制限)
などのディレクトリブラウジングなどのオプションFollowSymLinksをFollowSymLinksを表現はシンボリックリンクを許可、プラスオプションが禁止されていない手段は、許可されていない
ディレクトリの設定ファイルからユーザーを防ぐ表現AllowOverrideのなし(.htaccessファイルが変更されました)ヘビーデューティー、一般的なディレクトリサイトこの勧告は開いていない
注文は否定し、明示的に(前方から読み取る)拒否されていないことを可能許可し
からのすべてのアクセスを拒否するようにすべてを拒否する
</ディレクトリ>

<ディレクトリ「/applications/apache2.2.31/htdocs」>サイトディレクトリ(サイトディレクトリを設定し、読者がここで設定されていない場合、デフォルトのディレクトリサイトの制限された後、403エラーが発生する)
、オプションFollowSymLinksをFollowSymLinksをはインデックスがシンボリックリンクを許可表しインデックスの表現は、ディレクトリの参照を禁止すべき、シンボリックリンクはここに非常に危険であることができ、ディレクトリの参照を許可するなど、ディレクトリの参照を可能に

オプションFollowSymLinksをまたは-Indexes FollowSymLinksをオプションに変更する必要があります
ヘビーデューティが.htaccessのセキュリティリスクを開けないようにしてみてください(.htaccessファイルが変更された)ディレクトリの設定ファイルからユーザーを防ぐ表現AllowOverrideのなし、通常のサイトは低い、より性能の訪問
順序を許可し、拒否拒否しません明示(奥から手前に読んで)許可
すべてのアクセスから皆を許可
</ディレクトリ>

<のIfModule dir_module>
のDirectoryIndexインデックスファイルindex.htmlページファイル(ファイルが複数のホームを持つことができ、複数の空間を一致させることができます)
</ のIfModule>

<FilesMatch「^ \。Htのは」 > Webユーザが閲覧しているの.htaccessと.htpasswdのその他の重要な書類を防ぐため
、インクルードが許可注文を拒否する
すべてから拒否
満たすすべての
</ FilesMatch>を使う方

#いくつかの例を:別のエラージャンプ指定したページがある
#ErrorDocument 500 "ザ・サーバーメイドAブーブーで。"
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 HTTP: //www.example.com/subscription_info.html



 


Apacheの拡張プロファイル(コール・ファイルをインクルード)で/ appacation / apacheの/ confに/エクストラ 、 オープンは、デフォルトの設定ではありません。
余分/
├──のhttpd-autoindex.conf
├──のhttpd-dav.conf DAV支持構成
├──HTTPD-は、default.conf設定パラメータは、タイムアウト、接続保持時間などの関連サービスは、Apache
├──のhttpdを-info.conf
├──のhttpd-languages.conf言語サポートモード
├──のhttpd-manual.conf
Apacheの設定ファイルを最適化することである├──にhttpd-mpm.confサーバプール管理、モードと設定Apacheを選択接続など、一般的なパターンと労働者モードproforkモードでは、デフォルトのモードはproforkある
├──のhttpd-多言語-errordoc.conf
├──のhttpd-sslのサポートssl.confの暗号化されたファイル
├──のhttpd-userdir.confは、
└──のhttpd-vhosts.conf仮想ホストの設定ファイル


仮想ホストの設定ファイル(HTTPD-vhosts.conf)
のegrep -v "*#^ | ^ $"からhttpd-vhosts.conf。
NameVirtualHostで*:80、すべてのIPはマシンのリスナーを対処表し*、名前ベースのバーチャルホストの設定を表し、あなたは、特定のIPアドレスに変更することができます

<VirtualHostの*:80>仮想ホストを定義し、*すべてのIPはマシンのリスナーに対処し、あなたが特定のIPアドレスに変更することができ表し
管理者のメールボックスで構成されSERVERADMIN [email protected]
のDocumentRoot「/アプリケーション/ apache2の。サービスを提供するために、プログラムディレクトリ2.31 /ドキュメント/ dummy-host.example.com」が、また、設定されていない場合は、サイトのディレクトリとして、見つけるために、メインの設定ファイルに行く
ServerNameはdummy-host.example.comでニーズをテストし、ドメイン名サービスを提供このマシンのホストが解決するために行う
エイリアスにServerAlias www.dummy-host.example.com同じサイトに複数のドメインにアクセスするように構成された仮想ホストを、この機能は、Apache mod_aliasモジュールのサポートが必要です
のErrorLog「ログを/ dummy-host.example.com 「設定エラー・ログ・パス-error_log
のCustomLog」ログ/ダミーhost.example.com- access_logの「共通複数の出力フォーマットを取得するために、代わりに、共通フォーマットの一般的な形式と組み合わせて構成アクセスログを、
エンド</ VirtualHost>の仮想ホストを

 

 

 

################################################## ################################################## ##
Apacheは最適化し
、ログのポーリング
1.利用にログcronologの投票を。ログを切断する際に、システムを使用しない理由があるため、ログの損失のため、rotatelogsのが来ます。
2.(組み合わせ)複合ログの使用は、ディスプレイは、よりなります。
| "は/ usr / local / 3の設定は、ポーリングのCustomLogとしてフルパスを書くログcronolog組み合わせsbinに/ cronolog /application/apache/logs/access_www_%Y%m%d.log"を

II。エレガントな表示エラーページ
サポートURL、ファイルやスクリプトのフォームを。ErrorDocument 404 /http://www/51cto.comのErrorDocument 404 /missing.htmlメインの設定ファイルを設定または書き込み

三、mod_deflateをファイル圧縮(コンテンツクライアントに圧縮)である
/ APXS DSOが実装/アプリケーション/ apacheの/ binに -i -c -a mod_deflate.c
サーバ側に圧縮されたファイル、およびクライアントで、転送終了後、解凍。特別な事情が、すべてのテキストコンテンツは、gzipで圧縮べきではありません。
:ウェブ上の以下の情報は、圧縮機能を実現するために、それらをホスト
<のIfModule mod_defalte.c>
グレードはまた、圧縮率が高いほど、大きなDeflateCompressionlevel#9圧縮レベルで、反対はまた、高いCPUの消費量である
圧縮を有効SetOutputFilterをDEFLATE#
#DeflateFilterNote入力インストリームを#フラグは、ログ圧縮比に配置された
ログ圧縮比に置かれ#DeflateFilterNore出力OUTSTREAMの#マーク
AddOutputFilterByTypeディレクティブのDEFLATEテキスト/ HTMLテキスト/プレーンテキスト/ XMLの# 3行は圧縮タイプを設定し、次の
AddOutputFilterByTypeディレクティブDEFLATEファイルアプリケーション/ JavaScriptの
AddOutputFilterByTypeディレクティブDEFLATEテキスト/ CSSの
# DeflateFilterNote比比#ログは、一般的に、この機能を持っていない、ロギングされた後に、それがコメントアウトされ、圧縮率フラグに配置され
#LogFormat ' 『%rの』%{ outsream} N /%{インストリーム} N(%{比を} N %%「)デフレート
ログ#Customlog /デフレートdeflate_log.log
</のIfModule>
ヴァリ現れるカールコマンドラインヘッダ情報を使用する:受け入れるエンコードが発現圧縮を有しているが

四、キャッシュ機能をmod_expiresを
のようなキャッシュするために、ヘッダーを有効期限が切れる設定することによって:ヘッダーメッセージを介してブラウザのキャッシュ時間に特定の種類のファイルを指定するには、イメージ、スクリプト、CSS、フラッシュ、など、実際には有効期限が切れ、画像のほとんど、フラッシュリリースが頻繁に変更されていない後、キャッシュはそうした後、ブラウザがサーバーからこれらのファイルをダウンロードしませんが、直接キャッシュから読み込む
利点:
1ページ2へのアクセス速度を向上させる、3は、ユーザーエクスペリエンスを強化します、ウェブサイトの帯域幅コスト4セーブ、Webサーバやメンテナンスコストを節約

 

<のIfModule mod_expires.c>
はExpiresActive On
ExpiresDefaultディレクティブ"アクセスプラス12ヶ月"
ExpiresByTypeディレクティブテスト/ htmlの"アクセスプラス12ヶ月"
ExpiresByTypeディレクティブテスト/ SCC "アクセスプラス12ヶ月"
ExpiresByTypeディレクティブの画像/ gifの"アクセスプラス12ヶ月"
ExpiresByTypeディレクティブの画像/ JPEG " "12ヶ月plus12アクセス
ExpiresByTypeディレクティブの画像/ JPG "アクセスプラス12ヶ月"
ExpiresByTypeディレクティブの画像/ PNG "アクセスプラス12ヶ月"
アクセスプラス12ヶ月"/ X-衝撃波フラッシュExpiresByTypeディレクティブのアプリケーション"
ExpiresByTypeディレクティブアプリケーション/ X-javascriptの"アクセスプラス12ヶ月「
ExpiresByTypeディレクティブビデオ/ X-FLV "アクセスプラス12ヶ月"
</のIfModule>

障害状態を期限切れになる:アクティブユーザーとキャッシュの内容を削除するには、する必要があります

如果网站更新功能或者更新文件,用户访问时的内容还是旧的
1.一般将经常变化的设置时间短 如1-30天
2.在更新文件上采取策略,如更新后使用新的文件名发布,这样对用户又是新的资源了


五、更改apache的默认用户
编译安装apache的用户是daemon
yum安装apache的用户的apache
尽可能的将用户改名,最好用大家都不知道用户名


六、worker模式 提升并发数(可以达到4500,网友测试结果)
编译安装时,使用worker模式


七、屏蔽apache版本等敏感信息
客户访问时不知道用的是什么版本的服务器,减少攻击
修改httpd-default.conf文件,ServerSignature off 和ServerTokens Prod
之后 apachectl graceful 使之生效
但还是会出现server=Apache 字样,如果想全部屏蔽,则需要从新编译


八、apache目录文件权限的设置 (属组root ,目录755,文件644)
在网站架构中,应该把资源文件,包括用户上传的图片,附件等和程序分离,最好把上传的程序也分离,这样就可以从容的授权了。
一般的公司授权:
chmod -R 777 /sitedir
chown -R apache.apache /sitedir 都不安全


九、修改apache的并发量等设置(默认apahce的并发量是150)
修改httpd.conf 打开Include conf/extra/httpd-mpm.conf 模块

Apachef服务为ワーカー模式的配置VIM /conf/extra/httpd-mpm.conf
<mpm_worker_moduleのIfModule>
にStartServers 5つの
MaxClientsの2000
ServerLimitの25
MinSpareThreads 50
MaxSpareThreadsの取る200
はThreadLimit 200
ThreadsPerChildの100
のMaxRequestsPerChild 0
</のIfModule>
注:
MaxClientsの<= ServerLimitの* ThreadsPerChildの

以下のためのApacheのpreforkのモード設定サービス
の同時接続の構成の本番環境設定ファイルのhttpd-は、default.conf数

vimのconfに/エクストラ/ httpdの-mpm.conf
にStartServers 10
MinSpareServers 10
MaxSpareServersも15
ServerLimitの2000の
MaxClientsの2000年
のMaxRequestsPerChild 10000


同時変更の数の後、Apacheを停止してApacheの起動、再起動し、優雅にはバグが使用できなかったですします


テンのApacheのセキュリティ・チェーン機能
のすべての彼の写真は、他の人のページ内にネストすることはできません


十一、禁止目录Indexes
删除Indexes 或者Indexes前加-


十二、禁止用户重载
AllowOverride Nore


十三、关闭CGI
删除或者关闭CGI


十四、避免使用.htaccess文件
首先是性能的考虑,如果AllowOverride启用了.htaccess文件,则Apache需要在每个目录中查找.htaccess文件,另外,对每一个请求,都需要读取一次.htaccess文件因此会导致性能的下降。
其次是安全,这样会允许用户自己修改服务器的配置,这可能导致某些意想不到的修改,所以请认真考虑是否应当给予用户这样的特权

AccessFileName .htaccess
建议设置成:
#AccessFileName .htaccess
全部目录权限定义使用httpd.conf中的定义,不使用.htaccess.


十七、apache日志授予root 700权限


十八、内核优化 系统优化


十九、apache程序架构优化
1.程序页面服务器和 图片附件服务器、上传服务器 三者的功能尽量分离
2.分离最佳的方式是分别使用独立的服务器(需要程序的支持)
3.次选方案是在前端负载均衡器通过haproxy/nginx 根据目录或者扩展名,请求后面的对应服务器

 


----------------
免責事項:この記事は、「元の記事をzypzilong」CSDNブロガーである、再現CC BY-SA 4.0の著作権契約を、従って、元のソースのリンクと、この文を添付してください。 。
オリジナルリンクします。https://blog.csdn.net/zypzilong/article/details/77765429

おすすめ

転載: www.cnblogs.com/ccw869476711/p/11422524.html