局域网内自签发 https 证书
HTTPS(全称:HyperText Transfer Protocol Secure)是HTTP(超文本传输协议)的安全版本。本质上,HTTPS在HTTP的基础上,通过SSL/TLS协议提供了数据加密、完整性保护和身份验证,以确保网络数据传输的安全性。HTTPS被广泛用于互联网上的安全通信,特别是在线交易和处理敏感信息时,本文以Nginx为例部署自签发https证书。
获取有效的SSL/TLS证书:
在服务器上配置SSL/TLS证书:
确保网站资源通过HTTPS加载:
重定向HTTP请求到HTTPS:
.htaccess文件来设置重定向规则。更新网站配置和第三方服务:
测试HTTPS配置:
本地生成在没有域名的情况下基于ip生成如果存在域名可以基于certbot 生成免费证书
1 检查nginx是否支持配置
nginx -V

2 证书生成
ubuntu:
sudo apt-get install libssl-dev
centos:
yum install openssl
yum install openssl-devel
3 生成证书
1进入证书目录
cd /etc/nginx/sslkey
2创建本地私有密钥
openssl genrsa -out ssl.key 2048
3按提示输入即可
openssl req -new -key ssl.key -out ssl.csr
4创建证书crt
openssl x509 -req -days 1460 -in ssl.csr -signkey ssl.key -out ssl.crt
5创建证书pem
openssl dhparam -out ssl.pem 2048
4 Nginx 配置
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
ssl_certificate /etc/nginx/sslkey/ssl.crt;
ssl_certificate_key /etc/nginx/sslkey/ssl.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2;
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!KRB5:!aECDH:!EDH+3DES;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
}
检查配置项,并重启
nginx -t
nginx -s reload
自签名证书是一种由服务器管理员自己创建的证书,而不是由 CA 颁发的。这种证书提供了相同级别的加密,但不提供第三方验证身份的信任。自签名证书通常用于内部网络、测试环境或其他不需要公众信任的场景。使用自签名证书的主要问题是浏览器会警告用户这个证书不受信任,因为它没有由已知的 CA 颁发。用户需要手动添加一个例外或信任该证书,才能访问网站。