树莓派/Debian HTTP 到 HTTPS 端口重定向

一、前言

前文我们讲了 树莓派/Debian Apache2 配置自建 CA 实现 HTTPS(SSL) 服务 ,实现了通过 SSL 建立安全连接,但依然可以通过 HTTP 访问。本文讲述如何将 Raspberry/Debian HTTP 默认的 80 端口,重定向到 HTTPS 的 443 端口。

二、修改 HTTP 配置文件 000-default.conf

1. 开始编辑 000-default.conf

sudo vim /etc/apache2/sites-available/000-default.conf

2. 添加语句

在任意一处添加语句:

ServerName example.com
ServerAlias www.example.com

Redirect permanent / https://example.com/
  • 如果没有申请域名,可替换为 IP 地址:

    ServerName 192.168.0.130
    ServerAlias 192.168.0.130
    
    Redirect permanent / https://192.168.0.130/
    
    • 如果替换的 IP 地址是公网 IP ,不会影响。
    • 如果替换的 IP 地址是本地 IP ,则只能由同一网段内的 计算机 访问。(比如我用到的 192.168.0.130)

3. :wq 保存退出

三、修改 HTTPS 配置文件 default-ssl.conf

1. 开始编辑 000-default.conf

sudo vim /etc/apache2/sites-available/default-ssl.conf

2. 修改语句

修改 ServerName 后面的字符串为 域名

ServerName example.com
  • 如果没有申请域名,可替换为 IP 地址,例:

    ServerName 192.168.0.130
    

2. 添加语句

ServerName 语句后添加语句:

ServerAlias www.example.com

Protocols h2 http:/1.1
  • 如果没有申请域名,可替换为 IP 地址:

    ServerAlias 192.168.0.130
    
    Protocols h2 http:/1.1
    
    • 如果替换的 IP 地址是公网 IP ,不会影响。
    • 如果替换的 IP 地址是本地 IP ,则只能由同一网段内的 计算机 访问。(比如我用到的 192.168.0.130)

使用上述配置,我们将强制使用 HTTPS 。

四、 重新加载Apache服务以使更改生效

sudo systemctl reload apache2
sudo /etc/init.d/apache2 restart

五、成功测试

完成上述步骤且无错误后,打开浏览器输入:

http://<域名或IP>

就会跳转到:

https://<域名或IP>

六、HTTPS 实现 www 重定向到 非www 网页

请参考博客 HTTPS 实现 www 重定向到 非www 网页

posted @ 2020-03-14 21:11  Yogile  阅读(1662)  评论(0编辑  收藏  举报