centos 本地虚拟机 nginx添加ssl证书
本地环境,无法申请免费的证书,即便是申请下来了,也会因为域名无法使用,那么我们可以使用另外一种方法:openssl
1:安装 openssl
yum install mod_ssl openssl
2:切换至nginx目录创建ssl文件夹(也可以在任何地方创建ssl文件夹,看自己的选择)
[root@localhost ~]# cd /usr/local/nginx/conf/ [root@localhost conf]# mkdir ssl [root@localhost conf]# cd ssl/ [root@localhost ssl]#
3:生成2048位秘钥
openssl genrsa -out server.key 2048
4:生成证书签名请求(CSR),这里需要填写许多信息,按照上面的提示进行填写即可,如果你想随便填写,那也是可以的。
openssl req -new -key server.key -out server.csr
5:生成类型为X509的自签名证书。有效期设置3650天,即有效期为10年。
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
6:执行完以上命令后,会在ssl文件夹内生成三个文件
[root@localhost ssl]# ll 总用量 12 -rw-r--r--. 1 root root 1200 1月 25 22:06 server.crt -rw-r--r--. 1 root root 1005 1月 25 22:06 server.csr -rw-r--r--. 1 root root 1679 1月 25 22:05 server.key
7:如果出现这三个文件夹,那么恭喜你,你已经安装完成了!接下来配置nginx支持https
首先打开nginx.conf配置文件,这里就以nginx.conf为例(这里只展示server区块,红色字体部分):
server { listen 80 default_server reuseport; #listen [::]:80 default_server ipv6only=on; #https配置开始 listen 443 ssl; ssl_certificate ssl/server.crt; ssl_certificate_key ssl/server.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; #https配置结束 server_name _; index index.html index.htm index.php; root /home/wwwroot/default; #error_page 404 /404.html; # Deny access to PHP files in specific directory #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; } include enable-php.conf; location /nginx_status { stub_status on; access_log off; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /.well-known { allow all; } location ~ /\. { deny all; } access_log /home/wwwlogs/access.log; } include vhost/*.conf;
8:重新启动nginx,然后使用https进行访问,https://localhost
[root@localhost ssl]# /etc/init.d/nginx restart
分类:
Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构