因业务需求,须要给域名配置SSL加密,从IT部门获取.cert和.key文件后,就开始配置了.
ubuntu下,apache的默认模块目录是 /usr/lib/apache2/modules/html
$ cd /usr/lib/apache2/modules/ $ ls
确认有"mod_ssl.so"模块后,咱们到apache的配置目录,默认是 /etc/apache2apache
$ cd /etc/apache2 $ ls
找到 apache2.confubuntu
$ vim apache2.conf
在最后一行加上vim
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
保存,退出网站
打开 sites-enabled/000-default.conf加密
$ vim sites-enabled/000-default.conf
修改内容以下:rest
<VirtualHost *:80> ServerName: safe.example.com #(要绑定的域名) Options FollowSymLinks # 自动将80端口的访问,重定向到https的域名 Redirect permanent / https://safe.example.com # 也能够使用IF-ELSE条件选择来禁止IP访问: # <If "%{HTTP_HOST} == 'safe.example.com'"> # Redirect permanent / https://safe.example.com/ # </If> # <Else> # Order allow,deny # Deny from all # </Else> # 详情参见: https://httpd.apache.org/docs/2.4/expr.html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
打开 ports.confcode
$ vim ports.conf
原内容:htm
Listen 80 <IfModule ssl_module> Listen 443 </IfModule>
修改内容以下:blog
<IfModule ssl_module> Listen 443 <VirtualHost _default_:443> # 此处为网站根目录 DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine On # 证书文件的路径(须要本身申请,或找IT部门的同事要) SSLCertificateFile "./SSL_Cert/safe.example.com.cert" # key文件的路径(须要本身申请,或找IT部门的同事要) SSLCertificateKeyFile "./SSL_Cert/safe.example.com.key" </VirtualHost> </IfModule>
$ apachectl configtest # 检查apache配置是否正确 $ sudo service apache2 reload # 检查配置正确后,从新加载配置 $ sudo a2enmod ssl # 启用SSL服务 $ sudo service apache2 restart #重启apache
禁用SSL服务是
$ sudo a2dismod ssl
若是配置正确,那么访问:
都会重定向到 https://safe.example.com