Apache的配置

发布时间:2020-07-19 17:58:37 作者:AM学linux
来源:网络 阅读:357

Apache默认虚拟主机

在虚拟主机配置文件中第一个虚拟主机

vim  vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>

#    ServerAdmin webmaster@dummy-host.example.com

DocumentRoot "/tmp/123"

ServerName 111.com

</VirtualHost>

保存后

mkdir /tmp/123

chmod 600 /tmp/123

Apache域名301跳转

在虚拟主机配置文件中加入

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

<IfModule mod_rewrite.c>

#      RewriteEngine on

RewriteCond %{HTTP_HOST} ^bbb.com

RewriteRule ^/(.*)$ https://cache.yisu.com/upload/information/20200310/68/125221.jpg$" p_w_picpath-request

SetEnvIf Request_URI ".*\.jpg$" p_w_picpath-request

SetEnvIf Request_URI ".*\.png$" p_w_picpath-request

SetEnvIf Request_URI ".*\.bmp$" p_w_picpath-request

SetEnvIf Request_URI ".*\.swf$" p_w_picpath-request

SetEnvIf Request_URI ".*\.js$" p_w_picpath-request

SetEnvIf Request_URI ".*\.css$" p_w_picpath-request

CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/test.com__%Y%m%d_log 86400" combined env=!p_w_picpath-request

2.2 Apache 配置静态缓存

修改虚拟主机配置文件

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

ErrorLog "/usr/local/apache2/logs/tset.com-error_log"

SetEnvIf Request_URI ".*\.gif$" p_w_picpath-request

SetEnvIf Request_URI ".*\.jpg$" p_w_picpath-request

SetEnvIf Request_URI ".*\.png$" p_w_picpath-request

SetEnvIf Request_URI ".*\.bmp$" p_w_picpath-request

SetEnvIf Request_URI ".*\.swf$" p_w_picpath-request

SetEnvIf Request_URI ".*\.js$" p_w_picpath-request

SetEnvIf Request_URI ".*\.css$" p_w_picpath-request

CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/test.com__%Y%m%d_log 86400" combined env=!p_w_picpath-request

<Ifmodule mod_expires.c>

ExpiresActive on

ExpiresByType p_w_picpath/gif "access plus 1 days"

ExpiresByType p_w_picpath/jpeg "access plus 24 hours"

ExpiresByType p_w_picpath/png "access plus 24 hours"

ExpiresByType txt/ccs "now plus 2 hours"

ExpiresByType application/x-javascript "now plus 2 hours"

ExpiresByType application/javascript "now plus 2 hours"

ExpiresByType application/x-shockwave-flash "now plus 2 hours"

ExpiresDefault "now plus 0 min"

</Ifmodule>

2.3 Apache配置防盗链

修改虚拟主机配置文件加上

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

SetEnvIfNoCase Referer "^http://.*\.aaa\.com" local_ref

SetEnvIfNoCase Referer ".*\.bbb\.com" local_ref

SetEnvIfNoCase Referer "^$" local_ref

<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|png|gif|js|css)">

Order Allow,Deny

Allow from env=local_ref

</filesmatch>

Apache访问控制

在虚拟主机配置文件加上

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

<Directory />

AllowOverride None

Order allow,deny

Allow from all

Deny from 1.1.1.1

</Directory>

Apache禁止解析php

在虚拟主机配置文件加上

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

<Directory /data/www/data>

php_admin_flag engine off

<filesmatch "(.*)php">

Order deny,allow

Deny from all

</filesmatch>

</Directory>

Apache 禁止指定user_agent

user_agent 搜索引擎

限制了curl 和chrome 浏览器访问

<IfModule mod_rewrite.c>

RewriteEngine on                   相当于开关

RewriteCond %{HTTP_USER_AGENT} ^.*curl.* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^.*chrome* [NC]

RewriteRule .* - [F]

</IfModule>

Apache通过rewrite限制某个目录

<IfModule mod_rewrite.c>

RewriteEngine on                   相当于开关

RewriteCond %{REQUEST_URI} ^.*/tmp/.* [NC]

RewriteRule .* - [F]

</IfModule>

Apache--admin加密

在虚拟主机配置文件加上

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

<Directory /data/www/admin.php>

AllowOverride AuthConfig

AuthName "aaaaa"

AuthType Basic

AuthUserFile /data/.htpasswd

require valid-user

</Directory>

保存后创建Apache的验证用户

/usr/local/apache2/bin/htpasswd -c /data/.htpasswd user

-----------------------------------------------------------------

总配置文件

<VirtualHost *:80>

#     ServerAdmin webmaster@dummy-host.example.com

DocumentRoot "/tmp/123"

ServerName 111.com

</VirtualHost>

<VirtualHost *:80>

#     ServerAdmin webmaster@dummy-host.example.com

DocumentRoot "/data/www/"

ServerName aaa.com

ServerAlias bbb.com

#     ErrorLog "logs/test2.com-error_log"

#     CustomLog "logs/test2.com_log" combined

ErrorLog "/usr/local/apache2/logs/tset.com-error_log"

SetEnvIf Request_URI ".*\.gif$" p_w_picpath-request

SetEnvIf Request_URI ".*\.jpg$" p_w_picpath-request

SetEnvIf Request_URI ".*\.png$" p_w_picpath-request

SetEnvIf Request_URI ".*\.bmp$" p_w_picpath-request

SetEnvIf Request_URI ".*\.swf$" p_w_picpath-request

SetEnvIf Request_URI ".*\.js$" p_w_picpath-request

SetEnvIf Request_URI ".*\.css$" p_w_picpath-request

CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/test.com__%Y%m%d_log 86400" combined env=!p_w_picpath-request

<Ifmodule mod_expires.c>

ExpiresActive on

ExpiresByType p_w_picpath/gif "access plus 1 days"

ExpiresByType p_w_picpath/jpeg "access plus 24 hours"

ExpiresByType p_w_picpath/png "access plus 24 hours"

ExpiresByType txt/ccs "now plus 2 hours"

ExpiresByType application/x-javascript "now plus 2 hours"

ExpiresByType application/javascript "now plus 2 hours"

ExpiresByType application/x-shockwave-flash "now plus 2 hours"

ExpiresDefault "now plus 0 min"

</Ifmodule>

SetEnvIfNoCase Referer "^http://.*\.aaa\.com" local_ref

SetEnvIfNoCase Referer ".*\.bbb\.com" local_ref

SetEnvIfNoCase Referer "^$" local_ref

<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|png|gif|js|css)">

Order Allow,Deny

Allow from env=local_ref

</filesmatch>

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_HOST} ^bbb.com

RewriteRule ^/(.*)$ http://aaa.com/$1 [R=301,L]

RewriteEngine on

RewriteCond %{REQUEST_URI} ^.*/tmp/.* [NC]

RewriteRule .* - [F]

</IfModule>

<Directory /data/www/admin>

AllowOverride AuthConfig

AuthName "aaaaa"

AuthType Basic

AuthUserFile /data/.htpasswd

require valid-user

</Directory>

<Directory />

AllowOverride None

Order allow,deny

Allow from all

Deny from 1.1.1.1

</Directory>

<Directory /data/www/data>

php_admin_flag engine off

<filesmatch "(.*)php">

Order deny,allow

Deny from all

</filesmatch>

</Directory>

<Directory /data/www/admin.php>

AllowOverride AuthConfig

AuthName "aaaaa"

AuthType Basic

AuthUserFile /data/.htpasswd

require valid-user

</Directory>

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_USER_AGENT} ^.*curl.* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^.*chrome* [NC]

RewriteRule .* - [F]

</IfModule>

</VirtualHost>


推荐阅读:
  1. apache的常用配置
  2. Apache maven 配置

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux he

上一篇:HTML实现滚动到顶部的四种方式

下一篇:海内外加速

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》