一、使用 OpenSSL 生成 SSL Key 和 CSR
输入以下命令:
openssl req -new -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr
加密强度:2048 位,如果你的机器性能强劲,也可以选择 4096 位
国家(Country):CN
省份(State / Province):Beijing
城市(City):Beijing
部门(Department):可以不填写,这里我们写Web Security
组织或公司名字(Organization):Suming, Inc.
域名,也称为 Common Name:example.com (如同时添加WWW和不带WWW的,以逗号分开)
PS:如果是泛域名证书,则应该填写*.example.com
你可以在系统的任何地方运行这个命令,会自动在当前目录生成example.com.csr和example.com.key这两个文件
输入cat example.com.csr查看一下example.com.csr,得到一长串的加密文字,复制并提交SSL认证机构
这个 CSR 文件就是你需要提交给 SSL 认证机构的,当你的域名或组织通过验证后,认证机构就会颁发给你一个Suming.org.crt
二、Nginx 配置 HTTPS 网站以及增加安全的配置
前面已经提到,你需要提交 CSR 文件给第三方 SSL 认证机构,通过认证后,他们会颁发给你一个 CRT 文件,我们命名为example.com.crt
同时,为了统一,你可以把这三个文件都移动到/etc/ssl/certs/目录。(自行修改目录)
然后可以修改 Nginx 配置文件
server {
listen 80;
listen [::]:80 ssl ipv6only=on;
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;
server_name example.com;
ssl on;
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/certs/example.com.key;
}
检测配置文件没问题后重新读取 Nginx 即可
nginx -s reload
生成完毕后,在 Nginx 的 SSL 配置后面加入
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/certs/example.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
keepalive_timeout 70;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
同时,如果是全站 HTTPS 并且不考虑 HTTP 的话,可以加入 HSTS 告诉你的浏览器本网站全站加密,并且强制用 HTTPS 访问
add_header Strict-Transport-Security max-age=63072000;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
同时也可以单独开一个 Nginx 配置,把 HTTP 的访问请求都用 301 跳转到 HTTPS
server {
listen 80;
listen [::]:80 ssl ipv6only=on;
server_name example.com;
return 301 https://example.com$request_uri;
}
PS:文章中涉及的域名、目录自行替换,此文章仅备用。
最新评论
记得第一次拥有MP3 里边就有存有这首歌,满满的青春回忆
和和 11 天前
完全可以水一个插件😉
干货鱼 15 天前
我觉着这个快捷按钮还挺方便。
威言威语 24 天前
强迫症,哈哈哈
obaby 2024-02-22
这个东西不错,满满的干货啊
obaby 2024-02-20
现在用的家庭版,感觉用起来也没感觉少了什么功能,可能很多高级功能也用不到吧。
威言威语 2023-12-21
最近安装 win11 之后,我发现之前用激活 win10 的批处理,也能激活 win11.
obaby 2023-12-20