网站http to https

[作者]
网名: 猪头三
站点: http://www.x86asm.com
Email: 643439947@qq.com
QQ: 643439947
编程生涯: 2001~至今[15年]
职业生涯: 13年
开发语言: C/C++; x86asm; Object Pascal; C#; Golang; Objective-C; PHP;
开发工具: VC++; Delphi; XCode;
研发领域: Windows应用软件安全; Windows系统内核安全; Windows系统磁盘数据安全; Mac应用软件安全;
技能种类: 逆向 驱动 磁盘 文件

[序言]
越来越接近2017年了, http即将被强制淘汰. 当然这个规则仅限跟国外业务有关的网站. 因此昨天我已经开始动手部署https了. 一共有3个网站, 但了安全起见不影响国外业务的交易, 仅仅尝试1个网站的部署, 但没想到还是很顺利, 一次成功. 这里仅仅简单记录一下, 而不是教程. 网络上已经有大量的切换文章了.

[步骤]
1> 修改网站根目录下的.htacces文件
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://yoursite.com/$1 [R=301,L]

2> 如果网站带有WordPress的, 可以参考如下文章
https://css-tricks.com/moving-to-https-on-wordpress/
http://www.wpbeginner.com/wp-tutorials/how-to-add-ssl-and-https-in-wordpress/
https://designmodo.com/wordpress-https/
因为我的网站存在一定时间了, 因此文章内带有http的链接, 这种情况下可以在phpmyadmin后台执行如下命令:
UPDATE wp_posts SET post_content = REPLACE (post_content, ‘http://yoursite.com’, ‘https://yoursite.com’);

[总结]
http to https其实相对还是比较简单, 希望对大家有帮助.
### 一、服务器配置 HTTPS 协议 要将 HTTP 网站配置为 HTTPS,首先需要在服务器上配置 HTTPS 协议。HTTPS 是基于 SSL/TLS 协议实现的加密通信,因此需要在服务器上安装 SSL 证书。常见的 Web 服务器(如 Nginx、Apache、IIS 等)均支持 HTTPS 配置。 在 Nginx 中,需要修改配置文件以监听 443 端口,并启用 SSL 模块。示例配置如下: ```nginx server { listen 80; server_name example.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/privkey.pem; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; location / { root /var/www/html; index index.html; } } ``` 该配置实现了 HTTPHTTPS 的强制跳转,并启用了 SSL 加密服务[^3]。 ### 二、SSL 证书的获取方式 在配置 HTTPS 之前,需要先获取 SSL 证书。常见的获取方式包括: 1. **通过 CA 机构申请付费证书** 可通过 DigiCert、Sectigo、GoDaddy 等 CA 机构购买 SSL 证书,适用于企业级网站,提供更高的信任级别和安全性。 2. **使用自签名根证书颁发 SSL 证书** 适用于内部测试或私有网络环境,但不会被主流浏览器信任,需手动将根证书添加到客户端信任列表中[^1]。 3. **使用 OpenSSL 生成证书** 可通过命令行工具 OpenSSL 自行生成自签名证书,适用于开发环境或临时使用。 示例命令: ```bash openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 ``` 4. **使用免费证书服务商** Let's Encrypt 提供免费的 SSL 证书,广泛用于个人网站和小型项目。可通过 Certbot 工具自动申请和部署证书。 ### 三、部署证书并重启服务 在获取 SSL 证书后,需将其部署到 Web 服务器中。以 Nginx 为例,需将证书文件和私钥文件配置到 `ssl_certificate` 和 `ssl_certificate_key` 指令中,并重启服务使配置生效。 ```bash sudo systemctl restart nginx ``` 在 IIS 中,需通过“服务器证书”功能导入证书,并在站点绑定中添加 443 端口的 HTTPS 配置[^4]。 ### 四、配置 HTTPHTTPS 的重定向 为了确保用户始终通过 HTTPS 访问网站,应配置 HTTP 请求自动跳转至 HTTPS。在 Nginx 中,可通过以下配置实现: ```nginx server { listen 80; server_name example.com; return 301 https://$host$request_uri; } ``` 在 IIS 中,可通过 URL 重写模块配置重定向规则,操作类型为“重定向”,重定向 URL 为 `https://{HTTP_HOST}/{R:1}`,并选择“永久(301)”重定向类型。 ### 五、双向认证与客户端信任 如果需要实现双向认证(客户端也需要提供证书),则需将根证书添加到客户端系统的信任列表中。在 Windows 系统中,可通过“管理证书”工具将根证书导入“受信任的根证书颁发机构”存储区[^1]。 ### 六、验证 HTTPS 配置 配置完成后,建议使用在线工具(如 SSL Labs 的 [SSL Test](https://www.ssllabs.com/ssltest/))对网站HTTPS 配置进行评估,确保加密协议、证书链、安全性设置等均符合最佳实践。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不是代码教父

我的创作动力离不开你的真诚激励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值