一、使用 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:文章中涉及的域名、目录自行替换,此文章仅备用。
最新评论
我是反对器官移植的,提倡遵循自然规律。
2022年我单人单车自驾了西藏,这种长途旅行感觉真的太好了,永生难忘
哈哈,看这位摩旅大佬罗哩叭嗦得真是一套一套的,从锅碗瓢盆到西域美食,细节满满,让人感觉仿佛跟着他一起经历了九九八十一难,最后抵达了吃货的天堂!不过说真的,西藏的蓝确实让人心醉,但新疆的手抓饭和巴扎更能抚慰人心啊!期待大佬北疆行,顺便给我们传授点省钱攻略,毕竟西藏的衣食住行贵得让人心疼!最后,山海相见的口号我已收好,明年再听大佬唠叨!deltarune prophecy ending
点赞! 世界那么大, 去看看! 地理, 气候, 人文, ... 完全不一样的地方.
哇哦,自由的味道
别忘了哟!
ssh我用过,但是用这个搞备份没试过,玩的有点高级啊。 风兄,非常惭愧告诉你,我的域名又被封掉了,这次老实了,不折腾了。 新的域名 mbwx.ren 麻烦更新下我的“木本无心”,多谢!