美文网首页后端开发聪少Harry笔记程序员
Ubuntu Apache2 下配置 SSL 证书及全局 HTT

Ubuntu Apache2 下配置 SSL 证书及全局 HTT

作者: zormin | 来源:发表于2016-02-25 18:04 被阅读3708次

假设已经有证书文件apache.crt 和私匙apache.key
/etc/apache2/ 下新建一个ssl 文件夹,把这两个文件扔进去。

配置SSL证书

打开 /etc/apache2/sites-available/default-ssl.conf
ServerAdmin下另起一行加上ServerName 你的域名:443
找到SSLEngine,SSLCertificateFile,SSLCertificateKeyFile并修改成以下内容

SSLEngine on

SSLCertificateFile /etc/apache2/ssl/apache.crt

SSLCertificateKeyFile /etc/apache2/ssl/apache.key

SSL证书配置完毕,保存退出。

配置 HTTPS 强制跳转

打开 /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80></VirtualHost>标签内随便一个地方加入以下三行

RewriteEngine on
RewriteCond  %{HTTPS} !=on
RewriteRule  ^(.*) https://%{SERVER_NAME}$1 [L,R]

强制跳转https配置完毕,保存退出。

使配置生效

启动 rewrite mod
sudo a2enmod rewrite
重启 apache
sudo etc/init.d/apache2 restart
配置结束。不出意外配置应该已经生效。

其他

我在网上查到的其他资料,不少都有再设置 AllowOverride 的 None 改为ALL 这一步,然而我没找到这个文件,略过这一步依然可以强制全局跳转 HTTPS,不知为何。
有错误和疑问请不吝指出。谢谢。

相关文章

网友评论

  • 猫语巧克力:我在测试的时候发现还需要在ports.conf文件中的listen 80下面加一行listen 443。
  • c7d28072f9bb:今天中午在wordpress中配置https的时候,也搜索了很多博客参考.
    你这篇文章解决了我的问题,谢谢!
  • 0e3706e7f8e5:AllowOverride 的 None 改为ALL 这一步是在/etc/apache2/apache2.conf 里面可以找到的
  • 0e3706e7f8e5:非常感谢,对我相当有用
    zormin:@ober 客气了!对你有帮助就好~感谢打赏 :relaxed:

本文标题:Ubuntu Apache2 下配置 SSL 证书及全局 HTT

本文链接:https://www.haomeiwen.com/subject/dlnikttx.html