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

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

点击了解更多详情 👀

相关推荐
FoldWinCard11 小时前
Apache
linux·运维·apache
运维全栈笔记12 小时前
致远 OA HTTPS 配置避坑指南
网络协议·http·https
2501_9159090612 小时前
iOS test 测试怎么做?功能、性能、兼容、稳定与安全五类测试指南
android·ios·小程序·https·uni-app·iphone·webview
A_humble_scholar15 小时前
Linux 网络基础(三)下的 HTTP 核心详解:从请求响应到状态管
linux·网络·http
pcplayer2 天前
Delphi WebService 使用 HTTP Header 管理 Session
http·webservice·soap·web server·http header
FfHUCisI2 天前
Golang HTTP 路由设计与请求处理
开发语言·http·golang
游戏开发爱好者82 天前
iOS 推送怎么配置,APNs 推送证书、设备库与群发
android·ios·小程序·https·uni-app·iphone·webview
小新讲网安2 天前
HTTP请求走私攻击实战:CL.TE与TE.CL绕过前端服务器全解析
服务器·前端·网络·web安全·http·架构·漏洞
zhengqiqiqinqin2 天前
Ubuntu16.04 升级ssl到3.5.7、升级ssh到9.8p1
网络协议·ssh·ssl
wear工程师2 天前
接口超时别只调大 timeout:Java HTTP 客户端其实有 3 段等待
java·http