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;
}

 

配置好后 重启nginx  
结果发现一直无法访问,但是http可以的,突然想起阿里云有个安全组,端口必须手动开放,去开放了443端口果然可以了 

目的: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

 

posted @   brady-wang  阅读(33133)  评论(2编辑  收藏  举报
编辑推荐:
· .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语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示