Apache(文章测试)

Apache

yum install httpd

   

虚拟主机

   

<VirtualHost 10.1.2.3:80>
ServerAdmin webmaster@host.example.com
DocumentRoot "/www/docs/host.example.com"
ServerName host.example.com
ErrorLog "logs/host.example.com-error_log"
TransferLog "logs/host.example.com-access_log"
</VirtualHost>

   

   

仅仅添加下列代码虚拟主机基于ip和端口

<VirtualHost 192.168.130.201:80>

ServerAdmin root@localhost

DocumentRoot "/var/www/www1"

DirectoryIndex index.html

</VirtualHost>

   

访问控制

   

Require all granted //允许所有主机

Require all denied //禁止所有主机

Require not ip 10.252.46.165 //禁止一台电脑

   

<RequireAll>

Require all granted

Require not ip 192.168.120.1

</RequireAll>

   

   

用户访问控制

如何要开启访问控制应该修改以下设置选项

   

AllowOverride AuthConfig

或者

AllowOverride All

   

首先,需要创建一个密码文件

此文件应该放在某处不可以从 web 访问。防止别人下载密码文件,比如这里

/var/www/passwd/

键入以下命令创建密码文件︰

htpasswd -c /var/www/passwd/password user1

htpasswd需要你输入user1的密码,然后确认输入

接下来,您将需要配置服务器请求一个密码并告诉服务器允许用户的访问。您可以通过编辑 httpd.conf 文件或使用.htaccess文件。

如果你想要对目录/var/www/html/添加用户认证,您可以使用下面的指令,放在文件/var/www/html/.htaccess中,或者放在httpd.conf里面<Directory "/var/www/html">

以下内容也可以放在 .htaccess

   

AuthType Basic

AuthName "acl"

AuthBasicProvider file

AuthUserFile "/var/www/passwd/password"

Require valid-user

   

   

   

   

SSl

yum install mod_ssl openssl

# 产生私钥
openssl genrsa -out ca.key 2048

# 产生 CSR请求证书文件
openssl req -new -key ca.key -out ca.csr

# 产生自我签署的的证书文件
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

# 复制文件至正确位置
cp ca.crt /etc/pki/tls/certs/ca.crt
cp ca.key /etc/pki/tls/private/ca.key
cp ca.csr /etc/pki/tls/private/ca.csr

   

vi /etc/httpd/conf.d/ssl.conf

#编辑ssl配置文件,修改下面两个属性的路径值如下

SSLCertificateFile /etc/pki/tls/certs/ca.crt

SSLCertificateKeyFile /etc/pki/tls/private/ca.key

   

vim /etc/httpd/conf/httpd.conf

#编辑服务器配置文件

网站模板如下

NameVirtualHost *:443

<VirtualHost *:443>

SSLEngine on

SSLCertificateFile /etc/pki/tls/certs/ca.crt

SSLCertificateKeyFile /etc/pki/tls/private/ca.key

<Directory "/var/www">

# Allow open access:

Require all granted

</Directory>

DocumentRoot /var/www/html

ServerName www.draw.com

</VirtualHost>

   

强制访问https

   

RewriteEngine on

RewriteCond "%{HTTPS}" "!=on"

RewriteRule "^(.*)" "https://%{SERVER_NAME}$1" [L,R]

   

同之前开启防火墙

firewall-cmd --permanent --add-service=https

#添加防火墙规则

firewall-cmd --reload

#重新加载防火墙

   

   

   

   

   

Centos6.5虚拟主机默认模板

NameVirtualHost *:80

<VirtualHost *:80>

ServerAdmin webmaster@dummy-host.example.com //管理员邮箱

DocumentRoot /www/docs/dummy-host.example.com //文档目录

ServerName dummy-host.example.com //服务器域名

ErrorLog logs/dummy-host.example.com-error_log //错误日志

CustomLog logs/dummy-host.example.com-access_log common //访问日志

</VirtualHost>

   

   

原文地址:https://www.cnblogs.com/wangmuchen/p/11211389.html