nginx配置ssl证书后无法访问https
一直听说https更安全,要安装证书,一直没试过,今天终于试了试
首先得有个http的域名网站,服务器。
到阿里云的安全-ssl证书管理申请一个免费的,可以绑定一个域名 然后完善资料,照着例子配置一个ssl 重启nginx
具体流程阿里云有文档
下面是我的conf配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | server { listen 443 ssl http2; #listen [::]:443 ssl http2; server_name yeves.cn www.yeves.cn; index index.html index.htm index.php default .html default .htm default .php; root /www/yeves; ssl on; ssl_certificate /usr/local/nginx/cert/a.pem; ssl_certificate_key /usr/local/nginx/cert/a.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; #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 ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location /{ try_files $uri $uri / /index.php? $uri & $args ; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /.well-known { allow all; } location ~ /\. { deny all; } access_log /tmp/yeves.log; } server { listen 80; server_name yeves.cn www.yeves.cn; return 301 https: //www.yeves.cn$request_uri; } |
目的:https方式访问网站
解决步骤:
1,首先得确保http访问该网站是没问题的。
2,配置nginx.conf监听443端口,443是ssl默认的端口
a,nginx.conf这个文件所在路径:/www/server/nginx/conf/nginx.conf(因为我是用宝塔面板安装的nginxa跟不用宝塔面板安装的路径会有所不同)
b,nginx.conf中http模块里的server模块是用来配置虚拟主机的,我们的ssl配置就要再server模块里完成,因为宝塔面板在创建网站的时候,就将每个虚拟主机的conf单独写出来了,然后在nginx.conf里include这些单独的conf。形如:include /www/server/panel/vhost/nginx/*.conf;
c,需要修改你想要配置https的虚拟主机的conf文件,形如(需增加的配置):
server
{
listen 443 ssl;
server_name www.xxxxx.cn;这个域名必须是你申请ssl证书的时候绑定的域名
ssl on;
ssl_certificate /www/server/panel/vhost/cert/1682997_www.fancy56.cn.pem; #SSL 证书文件路径,由证书签发机构提供
ssl_certificate_key /www/server/panel/vhost/cert/1682997_www.fancy56.cn.key; #SSL 密钥文件路径,由证书签发机构提供
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
}
3,到云服务器的控制台,添加安全组规则,增加443端口
4,云服务器的防火墙开启443端口
firewall-cmd --zone=public --add-port=443/tcp --permanent 增加443端口
firewall-cmd --reload 重启防火墙
以上就是我在配置ssl的时候遇到的一些问题解决方式。
阿里云文档:
https://help.aliyun.com/knowledge_detail/95491.html?spm=5176.2020520154.cas.25.1abbF170F170Ll
【推荐】国内首个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语句:使用策略模式优化代码结构