我的域名增加了SSL!

购买了一年的DV型SSL,赶紧部署!

首先我的Apache是源码编译的。默认已经配置有了ssl

如果您的源码编译没有加上该模块。请重新编译./configure –prefix=/usr/local/apache –enable-ssl

如果是yum安装,请yum install mod_ssl

A.开启相关参数,编辑 httpd.conf

1.    Apache 部署SSL证书 (只能应用一个证书, 如果多个不同站点都需要安装不同的证书,请使用nginx)

a.  查看apache是否开启ssl (特别注意要在apache配置文件中添加Listen  443否则没有443端口监听

打开 apache安装目录/conf/httpd.conf 文件,找到 里面两行

#LoadModule ssl_module modules/mod_ssl.so

将行首的#去掉,保存文件

执行命令: apache安装目录/bin/httpd -M | grep ssl_module  , 出现图下结果说明apache已经支持ssl, 否则请先开启apache的ssl模块

         

blob.png

B.编辑/extra/httpd-ssl.conf

1.找到与之对应的值,根据您的实际情况配置+

将购买的证书上传到服务器的下列路径中

# cp *.crt /etc/pki/tls/certs/
# cp *.key /etc/pki/tls/private/

 <VirtualHost www.domain.com:443> 
 DocumentRoot "/var/www/html" 
 ServerName www.domain.com 
 SSLEngine on 
 SSLCertificateFile 证书文件路径/_www.domain.com.cer 
 SSLCertificateKeyFile 证书文件路径/_www.domain.com.key 
 SSLCertificateChainFile 证书文件路径/_www.domain.com_ca.crt 
 </VirtualHost>
#注意:一定要添加下列内容,让访问者有权限访问!!!!

<Directory "/您网站的绝对路径">
 SetOutputFilter DEFLATE
 Options FollowSymLinks
 AllowOverride All
 Order allow,deny
 Allow from all
 DirectoryIndex index.html index.php
</Directory>

最后保存。

C.配置防火墙

这个网上都没人说过!!!!!!!!!坑爹得要死

一定要放行443端口!!

[root@tp ~]# iptables -A INPUT -p tcp --dport 443 -j ACCEPT

service iptables restart

D.强制使用HTTPS

如果需要整站跳转,则在网站的配置文件的<Directory>标签内,键入以下内容:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]

如果对某个目录做https强制跳转,则复制以下代码:
RewriteEngine on
RewriteBase /yourfolder
RewriteCond %{SERVER_PORT} !^443$
#RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

如果只需要对某个网页进行https跳转,可以使用redirect 301来做跳转!

redirect 301 /你的网页 https://你的主机+网页

重启Apache服务,即可看到效果

事后:虽然过程很简单,但是也让我花了几个小时。原因是各种古怪的错误。老师也讲过怎么配置。但是印象模糊。。。都还给老师了,况且网上的教程参差不齐。各种大坑!!!!

 

上一篇
下一篇