如何将网站http变成https

要将网站从 HTTP 协议升级到 HTTPS 协议,主要涉及以下几个步骤:

  1. 获取 SSL 证书: 首先需要从 SSL 证书颁发机构(CA)获取 SSL 证书。你可以选择自签名证书(用于测试环境)或购买经过验证的证书(用于生产环境)。

  2. 安装 SSL 证书: 将获取到的 SSL 证书安装到你的 Web 服务器上。具体安装步骤可能会因服务器类型而异,通常情况下,你需要将证书文件和私钥文件上传到服务器,并在 Web 服务器配置中指定证书和私钥的路径。

  3. 配置 Web 服务器: 修改 Web 服务器的配置文件,启用 HTTPS 协议,并配置 SSL 证书和私钥的路径。具体配置方法取决于你所使用的 Web 服务器,例如 Apache、Nginx、IIS 等。

  4. 重定向 HTTP 请求: 为了确保所有访问都通过 HTTPS 进行,你可以配置一个重定向规则,将所有 HTTP 请求重定向到 HTTPS。这样可以防止用户在浏览器地址栏中手动输入 HTTP 地址而导致安全问题。

  5. 更新网站链接: 在网站的 HTML 页面中,确保所有链接都使用 HTTPS 协议。这包括图片、样式表、脚本等资源的链接,以及页面中的内部和外部链接。

  6. 更新网站地图和搜索引擎索引: 如果你的网站提交了网站地图给搜索引擎,确保更新网站地图中的 URL,以及更新搜索引擎中的索引,以避免搜索引擎出现重复索引或搜索排名下降的情况。

  7. 测试和监控: 最后,确保对网站进行全面的测试,确保 HTTPS 配置正确并且没有出现任何问题。定期监控网站的安全性和性能,并及时解决任何问题。

通过以上步骤,你就可以将网站从 HTTP 升级到 HTTPS,提高网站的安全性和用户体验。

假设已经在阿里云处下载了SSL证书:

在nginx配置中修改:

server {
    listen 80;
    server_name www.*****.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name www.*****.com;

    ssl_certificate C:/phpstudy_pro/WWW/项目名/*****.com.pem;
    ssl_certificate_key C:/phpstudy_pro/WWW/项目名/*****.com.key;

    location / {
        proxy_pass http://localhost:8062;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        index index.php index.html;
        error_page 400 /error/400.html;
        error_page 403 /error/403.html;
        error_page 404 /error/404.html;
        error_page 500 /error/500.html;
        error_page 501 /error/501.html;
        error_page 502 /error/502.html;
        error_page 503 /error/503.html;
        error_page 504 /error/504.html;
        error_page 505 /error/505.html;
        error_page 506 /error/506.html;
        error_page 507 /error/507.html;
        error_page 509 /error/509.html;
        error_page 510 /error/510.html;
        autoindex off;
    }
}

server {
    listen 80;
    server_name www.*****.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name www.*****.com;

    ssl_certificate C:/phpstudy_pro/WWW/项目名/*****.com.pem; #注意 没有的也不能使用空地址,必须是真实存在的
    ssl_certificate_key C:/phpstudy_pro/WWW/项目名/*****.com.key;#注意 没有的也不能使用空地址,必须是真实存在的

    location / {
        proxy_pass http://localhost:8052;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        index index.php index.html;
        error_page 400 /error/400.html;
        error_page 403 /error/403.html;
        error_page 404 /error/404.html;
        error_page 500 /error/500.html;
        error_page 501 /error/501.html;
        error_page 502 /error/502.html;
        error_page 503 /error/503.html;
        error_page 504 /error/504.html;
        error_page 504 /error/504.html;
        error_page 505 /error/505.html;
        error_page 506 /error/506.html;
        error_page 507 /error/507.html;
        error_page 509 /error/509.html;
        error_page 510 /error/510.html;
        autoindex off;
    }
}

修改这两处: