常见问题:ECJia到家:ECJia到家如何配置HTTPS

来自ECJiaWiki
跳转至: 导航搜索

HTTPS介绍

使用HTTPS有什么优势?

基于 SSL 证书,可将站点由 HTTP(Hypertext Transfer Protocol)切换到 HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)—— 即基于安全套接字层(SSL)进行安全数据传输的加密版 HTTP协议。站点应用 HTTPS 后将有以下优势:

  • 防流量劫持

全站 HTTPS 是根治运营商、中间人流量劫持的解决方案,不仅可以杜绝网页中被插入的小广告,更可以保护用户隐私安全。

  • 提升搜索排名

采用 HTTPS 可以帮忙搜索排名的提升,提高站点的可信度和品牌形象。

  • 杜绝钓鱼网站

HTTPS 地址栏绿色图标可以帮助用户识别出钓鱼网站,保障用户和企业的利益不受损害,增强用户信任。


为什么要使用HTTPS
  1. 苹果官方强制应用必须通过HTTPS协议审核
  2. 最新浏览器已将HTTP标记为不安全浏览
  3. Google为HTTPS的网址搜索排名增加权重
  4. 美国要求2016年底前政府网址必须HTTPS
  5. 小程序必须使用HTTPS
  6. 模板堂HTTPS证书购买:http://www.ecmoban.com/topic/https/

ECJia到家如何配置HTTPS

  • 到家后台无需任何设置,会自动匹配,只需要修改服务器nginx配置即可实现全站HTTPS 。
  1. 使用官网自动化脚本安装 的nginx配置文件在/etc/nginx/conf.d/ECJia-ctiyo2o.conf下。
  2. 使用lnmp.org安装服务器环境的nginx配置文件在/usr/local/nginx/conf/vhost下。

下面为全部配置文件,直接替换即可,修改前最好备份一下之前的配置文件。

server {
    listen 80;
    server_name www.domain.shop domain.shop;
    #强制跳转https
    return 301 https://$server_name$request_uri;
}

server {
  listen    443 ssl http2;
  server_name www.domain.shop domain.shop;
  index index.php index.html index.htm;
  root /ecmoban/www;
  
  #error_page 404 /404.html;
  #error_page 502 /502.html;

  ssl_certificate /etc/nginx/ssl/xxxxxx.pem;  
  ssl_certificate_key /etc//nginx/ssl/xxxxxx.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS;

  location / {
    if (!-e $request_filename) {
      rewrite ^(.*)$ /index.php?s=$1 last;
      break;
    }
  }

  location ~ [^/]\.php(/|$) {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi.conf;
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
    set $path_info $fastcgi_path_info;
    fastcgi_param PATH_INFO $path_info;
    try_files $fastcgi_script_name =404;
  }

  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
    expires 30d;
    access_log off;
  }
  location ~ .*\.(js|css)?$ {
    expires 7d;
    access_log off;
  }
  location ~ /\.ht {
    deny all;
  }
}
  • 记住将以下信息替换为自己对应的信息
www.xxxx.com  替换为你自己的网站域名
/etc/nginx/ssl/xxxxxxx.crt;   替换为你的证书在服务器中的位置
/etc/nginx/ssl/xxxxxxx.key;   替换为你的私钥在服务器中的位置
  • 该配置为当用户访问HTTP链接的时候全部强制跳转到HTTPS链接,需要同时保留HTTP与HTTPS链接访问可以在nginx配置中删除该配置。
    return 301 https://$server_name$request_uri;


  • 修改完成后,执行以下命令重启nginx服务
/etc/init.d/nginx restart
  • 最后请务必清除浏览器缓存与模板缓存,可以手动删除缓存文件,在到家目录 content/storages 下,删除图中的7个文件夹
Version deleteCache.png
  • 打开浏览器输入你的网址

ECJia到家如何配置HTTPS01.png

延伸阅读