标签: SSL

  • Linux Apache Nginx SSL证书安装配置图文教程

    Linux Apache Nginx SSL证书安装配置图文教程

    下载得到的 www.domain.com.zip 文件,解压获得3个文件夹,分别是Apache、IIS、Nginx 服务器的证书文件,
    下面提供了4类服务器证书安装方法的示例:

    Apache 2.x 证书部署

    获取证书

    Apache文件夹内获得证书文件 1_root_bundle.crt,2_www.domain.com_cert.crt 和私钥文件 3_www.domain.com.key,
    1_root_bundle.crt 文件包括一段证书代码 “—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”,
    2_www.domain.com_cert.crt 文件包括一段证书代码 “—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”,
    3_www.domain.com.key 文件包括一段私钥代码“—–BEGIN RSA PRIVATE KEY—–”和“—–END RSA PRIVATE KEY—–”。

    证书安装

    编辑Apache根目录下 conf/httpd.conf 文件,
    找到 #LoadModule ssl_module modules/mod_ssl.so 和 #Include conf/extra/httpd-ssl.conf,去掉前面的#号注释;
    编辑Apache根目录下 conf/extra/httpd-ssl.conf 文件,修改如下内容:

    <VirtualHost www.domain.com:443>
        DocumentRoot "/var/www/html"
        ServerName www.domain.com
        SSLEngine on
        SSLCertificateFile /usr/local/apache/conf/2_www.domain.com_cert.crt
        SSLCertificateKeyFile /usr/local/apache/conf/3_www.domain.com.key
        SSLCertificateChainFile /usr/local/apache/conf/1_root_bundle.crt
    </VirtualHost>
    

    配置完成后,重新启动 Apache 就可以使用https://www.domain.com来访问了。

    注:

    配置文件参数说明
    SSLEngine on启用SSL功能
    SSLCertificateFile证书文件
    SSLCertificateKeyFile私钥文件
    SSLCertificateChainFile证书链文件

    Nginx 证书部署

    获取证书

    Nginx文件夹内获得SSL证书文件 1_www.domain.com_bundle.crt 和私钥文件 2_www.domain.com.key,
    1_www.domain.com_bundle.crt 文件包括两段证书代码 “—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”,
    2_www.domain.com.key 文件包括一段私钥代码“—–BEGIN RSA PRIVATE KEY—–”和“—–END RSA PRIVATE KEY—–”。

    证书安装

    将域名 www.domain.com 的证书文件1_www.domain.com_bundle.crt 、私钥文件2_www.domain.com.key保存到同一个目录,例如/usr/local/nginx/conf目录下。
    更新Nginx根目录下 conf/nginx.conf 文件如下:

    server {
            listen 443;
            server_name www.domain.com; #填写绑定证书的域名
            ssl on;
            ssl_certificate 1_www.domain.com_bundle.crt;
            ssl_certificate_key 2_www.domain.com.key;
            ssl_session_timeout 5m;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
            ssl_prefer_server_ciphers on;
            location / {
                root   html; #站点目录
                index  index.html index.htm;
            }
        }
    

    配置完成后,先用bin/nginx –t来测试下配置是否有误,正确无误的话,重启nginx。就可以使 https://www.domain.com 来访问了。

    注:

    配置文件参数说明
    listen 443SSL访问端口号为443
    ssl on启用SSL功能
    ssl_certificate证书文件
    ssl_certificate_key私钥文件
    ssl_protocols使用的协议
    ssl_ciphers配置加密套件,写法遵循openssl标准

    使用全站加密,http自动跳转https(可选)

    对于用户不知道网站可以进行https访问的情况下,让服务器自动把http的请求重定向到https。
    在服务器这边的话配置的话,可以在页面里加js脚本,也可以在后端程序里写重定向,当然也可以在web服务器来实现跳转。Nginx是支持rewrite的(只要在编译的时候没有去掉pcre)
    在http的server里增加rewrite ^(.*) https://$host$1 permanent;
    这样就可以实现80进来的请求,重定向为https了。

  • 解决WordPress全站开启https后的此网页包含过多的重定向问题

    解决WordPress全站开启https后的此网页包含过多的重定向问题

    很多Wordpress用户在开启wordpress全站https后,都会遇到此网页包含过多的重定向的问题,就是在后台网址设定了https之后,出现这问题 ,当时懵逼无从下手,在后来经过琢磨终于将此问题解决 。

    如上图所示,此网页包含过多的重定向,在网站根目录的wp-config.php尾部加入以下代码,即可完美解决此问题:

    $_SERVER['HTTPS'] = 'on';
    define('FORCE_SSL_LOGIN', true);
    define('FORCE_SSL_ADMIN', true);

    这时候再次访问网站,此网页包含过多的重定向的问题已经搞定。

  • git代码管理:使用git push时错误:error: unable to rewind rpc post data – try increasing http.postBuffer error: RPC failed; curl 56 SSLRead() return error -36

    git代码管理:使用git push时错误:error: unable to rewind rpc post data – try increasing http.postBuffer error: RPC failed; curl 56 SSLRead() return error -36

    error: unable to rewind rpc post data – try increasing http.postBuffer error: RPC failed; curl 56 SSLRead() return error -36

    大概意思是http.postBuffer太小,需要设置更大的值,应该是我们项目中用到的第三方静态库有400多MB大小的单个.a文件。

    谷歌查了相关资料,在终端执行

    git config --global http.postBuffer 524288000

    命令,将http.postBuffer设置为500MB大小后,可以正常push操作了。

WeChat
↑