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

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

点击了解更多详情 👀

相关推荐
寻星探路7 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
王达舒19947 小时前
HTTP vs HTTPS: 终极解析,保护你的数据究竟有多重要?
网络协议·http·https
朱皮皮呀7 小时前
HTTPS的工作过程
网络协议·http·https
Binary-Jeff7 小时前
一文读懂 HTTPS 协议及其工作流程
网络协议·web安全·http·https
CodeToGym14 小时前
【Java 办公自动化】Apache POI 入门:手把手教你实现 Excel 导入与导出
java·apache·excel
码云数智-大飞18 小时前
保姆级教程:零基础快速上手 Apache SeaTunnel(原 Waterdrop)
apache
yuluo_YX19 小时前
Reactive 编程 - Java Reactor
java·python·apache
惊讶的猫20 小时前
OpenFeign(声明式HTTP客户端)
网络·网络协议·http·微服务·openfeign
摇滚侠21 小时前
HTTP 404 - No response body available
网络·网络协议·http
Trouvaille ~21 小时前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议