运维 -- 网站配置 HTTPS

本贴最后更新于 2310 天前,其中的信息可能已经事过境迁

配置 https

1. 获取证书

2.0 安装证书

2. 给 Nginx 配置 https 协议:

  • 注意如果 Nginx 是编译安装的,需要安装模块 ngx_http_ssl_module。如果不安装,则有以下错误:
/ # nginx -t -c /nginxssl.conf
nginx: [emerg] unknown directive "ssl" in /nginxssl.conf:42
nginx: configuration file /nginxssl.conf test failed
  • 需要配置的部分就是以下部分:
server {
  listen 443;
  ssl on; //必须安装ngx_http_ssl_module模块
  ssl_certificate cert.pem; //证书文件
  ssl_certificate_key key.pem; //证书对应的私钥文件
  ssl_session_timeout 5m;
  ssl_protocols SSLv2 SSLv3 TLSv1;
  ssl_ciphers HIGH:!aNULL:!MD5;
  ssl_prefer_server_ciphers on;

  access_log logs/access.log;
  error_page 404 = @notfound;
  location / {
    root /website_files;
    default_type "text/html";
    try_files $uri $uri.html $uri/index.html index.html;
  }
 }
nginx -t && nginx -s reload
[root@bwh nginx]# nginx -t
nginx: [emerg] PEM_read_bio_X509_AUX("/etc/nginx/cert_chain.crt") failed (SSL: error:0906D066:PEM routines:PEM_read_bio:bad end line)
nginx: configuration file /etc/nginx/nginx.conf test failed
[root@bwh nginx]# nginx -t
nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/nginx/private.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)
nginx: configuration file /etc/nginx/nginx.conf test failed

3. 给 Tomcat 配置 HTTPS 协议:

4. 给浏览器配置自签名证书,来信任指定网站

  • 由于 https 证书是自签名的,配置了域名,浏览器前端调用文件上传的时候总是需要自己手动点击信任以后才能接口调通,显然不适合客户使用。于是需要把自己颁发的根证书添加到系统信任证书列表里,参考下面的文章:
  • 给 Mac 的 chrome 配置自签名证书
  • HTTPS
    98 引用 • 271 回帖 • 3 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...