Apache http 强制 https

1. 修改一下文件配置

bash 复制代码
sudo nano /etc/apache2/sites-enabled/000-default.conf
bash 复制代码
<VirtualHost *:80>
    ServerName hongweizhu.com
    ServerAlias www.hongweizhu.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    
    # 强制重定向到HTTPS
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
bash 复制代码
sudo nano /etc/apache2/sites-enabled/001-ssl.conf
bash 复制代码
<IfModule mod_ssl.c>
        <VirtualHost *:443>
                ServerName hongweizhu.com
                ServerAlias www.hongweizhu.com
                ServerAdmin webmaster@localhost
                DocumentRoot /var/www/html
                
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                
                SSLEngine on
                SSLCertificateFile /etc/apache2/ssl/hongweizhu.com_public.crt
                SSLCertificateKeyFile /etc/apache2/ssl/hongweizhu.com.key
                SSLCertificateChainFile /etc/apache2/ssl/hongweizhu.com_chain.crt
                
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
        </VirtualHost>
</IfModule>

2. 启用必要的模块并重启

bash 复制代码
sudo a2enmod rewrite
sudo a2enmod ssl
sudo systemctl restart apache2

3. 测试一下。自己再用浏览器测试一下

bash 复制代码
zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % # 检查HTTP请求是否重定向到HTTPS
curl -I http://hongweizhu.com
zsh: command not found: #
HTTP/1.1 301 Moved Permanently
Date: Thu, 10 Jul 2025 11:22:36 GMT
Server: Apache/2.4.41 (Ubuntu)
Location: https://hongweizhu.com/
Content-Type: text/html; charset=iso-8859-1

zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % curl -I https://hongweizhu.com
HTTP/1.1 200 OK
Date: Thu, 10 Jul 2025 11:22:58 GMT
Server: Apache/2.4.41 (Ubuntu)
Last-Modified: Wed, 02 Jul 2025 15:55:07 GMT
ETag: "68b-638f448f8ee4b"
Accept-Ranges: bytes
Content-Length: 1675
Vary: Accept-Encoding
Content-Type: text/html

zqm@zqms-MacBook-Pro Desktop % 
zqm@zqms-MacBook-Pro Desktop % 

希望对你有些帮助。
有错误或者疑问留言。
我的个人网站 点击访问 hongweizhu.com

END

推荐一下我写的的 App 熊猫小账本,里面有用到这篇博客讲的内容

熊猫小账本 一个简洁的记账 App,用于记录日常消费开支收入,使用 iCloud 保存同步数据。

  • 支持备注,自定义时间偶尔忘记记账也没关系。
  • 搜索历史记账,支持分类、金额、备注。
  • 启动时需要面容/指纹验证,保护个人隐私。
  • 支持自定义分类功能,自由添加修改分类。
  • 统计图表,支出收入一目了然。
  • 每天提醒记账,不会有其他推送。
  • 桌面锁屏小组件等。

点击了解更多详情 👀

相关推荐
小时前端5 天前
HTTPS 页面加载 HTTP 脚本被拦?同源代理来救场
前端·https
不可能的是6 天前
前端 SSE 流式请求三种实现方案全解析
前端·http
古译汉书10 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
james的分享10 天前
大数据领域核心 SQL 优化框架Apache Calcite介绍
大数据·sql·apache·calcite
莫寒清10 天前
Apache Tika
java·人工智能·spring·apache·知识图谱
赤月奇10 天前
https改为http
数据挖掘·https·ssl
归叶再无青10 天前
web服务安装部署、性能升级等(Apache、Nginx)
运维·前端·nginx·云原生·apache·bash
21号 110 天前
Http粘包问题回顾
网络·网络协议·http
A懿轩A10 天前
【SpringBoot 快速开发】面向后端开发的 HTTP 协议详解:请求报文、响应码与常见设计规范
spring boot·http·设计规范
吧啦蹦吧10 天前
http-SNI
网络·网络协议·http