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 保存同步数据。

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

点击了解更多详情 👀

相关推荐
BossFriday3 小时前
【手撸IM】高性能HTTP API服务设计与实现
网络·网络协议·http
爱吃KFC的大肥羊5 小时前
应用层协议——HTTP
网络·网络协议·http
2501_915918416 小时前
iOS 框架全解析,原生框架与跨平台框架对比、开发应用打包与 App Store 上架实战经验
android·ios·小程序·https·uni-app·iphone·webview
boy快快长大6 小时前
【面试题】HTTP与HTTPS的区别
网络协议·http·https
Faith_xzc14 小时前
Apache Doris 内部数据裁剪与过滤机制的实现原理
apache
Trainer210714 小时前
十分钟搭建thinkphp开发框架
php·apache·phpstorm·composer
安卓开发者14 小时前
在鸿蒙NEXT中发起HTTP网络请求:从入门到精通
网络·http·harmonyos
syntaxseeker14 小时前
Apache Beam入门教程:统一批流处理模型
其他·apache
Full Stack Developme15 小时前
Java 工具类 Hutool、Guava 与 Apache Commons 的区别
java·apache·guava
忆~遂愿16 小时前
谷歌云+Apache Airflow,数据处理自动化的强力武器
人工智能·python·深度学习·opencv·自动化·apache