hexo配置https


在配置ssl中遇到的一些错误

过程

  1. 首先购买证书,然后获取Nginx端的crt和key文件
  2. 配置到nginx.conf中
  3. 设置当监听到80端口的访问rewrite到https
  4. 重启Nginx服务器出错 systemctl restart nginx.service
  5. 按照提示可以查看错误,发现是80端口被占用,多个进程在监听

解决办法

  1. 启动: nginx -s reload
  2. 杀死80端口进程 然后重启Nginx 或者 查看其它占用80端口的进程,然后杀死 netstat -tunlp | grep 80and kill -9 PID-9 PID
  3. 然后重启

其他

  1. 将80端口进来的访问设置到https:

    1. 将crt(pem)文件和key文件放到nginx安装目录的cert文件夹中

    2. 在nginx.conf中配置:

      server {
          listen   443  ssl;
          server_name  baidu.com www.baidu.com; #自己的域名
          root  html;
          index index.html index.htm;
          ssl_certificate /etc/nginx/cert/1_cert.pem;
          ssl_certificate_key /etc/nginx/cert/2_key.key;
          ssl_session_cache shared:SSL:1m;
          ssl_session_timeout  10m;    
          ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
          ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
          ssl_prefer_server_ciphers on;
          
          # Load configuration files for the default server block.
          include /etc/nginx/default.d/*.conf;
          location / {
          root dir;    #网站根目录
          index  index.html index.htm;
      }
      error_page 404 /404.html;
              location = /40x.html {
          }
      
          error_page 500 502 503 504 /50x.html;
              location = /50x.html {
      }
      }
    3. 重定向

      在listen80端口下加入
      location / {
          rewrite ^(.*) https://aaa.com$1 permanent;
      }

      更好的方式:

      server_name aaa.org www.aaa.
      org;
      rewrite ^(.*)$ https://$host$1 permanent;

      或者

      return 301 https://yourhost$request_uri;
  2. 域名映射:

    1. 在域名解析里面设置:将类型A的主机记录分别设置为:www@

文章作者: RD
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 RD !
评论
评论
  目录