這里簡(jiǎn)單演示一下Apache下基于加密的認(rèn)證訪問(wèn)----https加密方式訪問(wèn)。
1.DNS解析解析情況:
[root@localhost html]# nslookup
Server: 192.168.2.115
Address: 192.168.2.115#53
Name:
Address: 192.168.2.115
2.安裝Apache SSL支持模塊:# yum install -y mod_ssl (默認(rèn)yum安裝httpd是沒(méi)有安裝該模塊的,安裝后自動(dòng)生產(chǎn)/etc/httpd/conf.d/ssl.conf文件)并生成證書(shū)。
[root@localhost certs]# pwd
/etc/pki/tls/certs
[root@localhost certs]# ls
ca-bundle.crt index.html localhost.crt Makefile
ca-bundle.trust.crt localhost1.crt make-dummy-cert
[root@localhost certs]# openssl req -utf8 -new -key ../private/localhost.key -x509 -days 3650 -out abc_com.crt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:510510
Locality Name (eg, city) [Default City]:GZ
Organization Name (eg, company) [Default Company Ltd]:ABC.COM
Organizational Unit Name (eg, section) []:Mr.Zhang
Common Name (eg, your name or your server's hostname) []:
Email Address []:root@abc.com
[root@localhost certs]#
3.配置Apache,基本配置這里不多說(shuō)了,下面是配置站點(diǎn)http訪問(wèn)的情況。
[root@localhost html]# tail -n 8 /etc/httpd/conf/httpd.conf
NameVirtualhost 192.168.2.115:80
<VirtualHost :80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html
ServerName
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
[root@localhost html]# tail /var/www/html/index.html
[root@localhost html]#
4.配置Apache支持https訪問(wèn)站點(diǎn),編輯 vim /etc/httpd/conf.d/ssl.conf 文件,制定站點(diǎn)https訪問(wèn)時(shí)的相關(guān)信息。添加下面配置。
<VirtualHost :443>
DocumentRoot "/var/www/html/www.kuteatest.net" #//為了顯示效果,這里的站點(diǎn)目錄不一樣,一般情況一個(gè)域名應(yīng)該指向同一目錄的。
ServerName :443
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/tls/certs/abc_com.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
<Files ~ ".(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent ".*MSIE.*"
nokeepalive ssl-unclean-shutdown
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
</VirtualHost>
5.重啟Apache服務(wù),測(cè)試訪問(wèn)。
測(cè)試http訪問(wèn)的結(jié)果
測(cè)試https訪問(wèn)的結(jié)果
查看證書(shū)信息和自建crt信息一致
https訪問(wèn)的最終結(jié)果