Featured image of post Nginx配置Https免费证书

Nginx配置Https免费证书

购买阿里云免费证书3个月

阿里云SSL证书管理 点击购买证书,并支付0元,相当于免费

img_201.png

创建证书

阿里云SSL证书管理 点击创建证书

信息填写 和 个人资料填写,写完提交,等待审核。

通过很快,平均签发时间:19分钟36秒,我的5分钟通过了。

img_200.png

img_198.png

通过之后,会自动在你的域名新增一条解析,不用管。域名控制台

img_203.png

手动部署证书

下载证书

阿里云SSL证书管理 点击证书列表操作栏下载

选择第一个nginx的证书,点击下载,得到2个文件

img_202.png

安装Nginx

Docker-Run命令部署Nginx

上传证书文件

创建cert文件夹,放入2个证书

1
mkdir ~/nginx/html/cert

img_207.png

nginx配置https访问

修改default.conf,然后重启nginx:docker restart nginx

img_197.png

 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
# 禁用ip访问
server {
  listen 80 default_server;
  server_name _;
  return 404;
}
server {
    listen 443 default_server;
    server_name _;
    ssl_certificate /usr/share/nginx/html/cert/zxalive.com.pem;
    ssl_certificate_key /usr/share/nginx/html/cert/zxalive.com.key;
    return 404;
}

server {
    listen 80;
    listen 443 ssl http2;
    server_name zxalive.com www.zxalive.com;
    root /usr/share/nginx/html/zxalive/public; # nginx容器内部的目录
    index index.html index.htm index.php;
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
  
    # SSL 设置
    ssl_certificate /usr/share/nginx/html/cert/zxalive.com.pem;
    ssl_certificate_key /usr/share/nginx/html/cert/zxalive.com.key;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";

    error_page 500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html/zxalive/public;
    }
}

https+域名访问,成功

https://zxalive.com/

img_209.png

跨域相关

在一级域名监听内允许跨域

 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
server {  
    listen 80;  
    server_name example.com;  
  
    location / {  
        # 允许所有域名的跨域请求  
        add_header 'Access-Control-Allow-Origin' '*';  
        # 也可以指定具体的二级域名  
        # add_header 'Access-Control-Allow-Origin' 'http://sub.example.com';  
  
        # 允许的方法  
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';  
  
        # 允许的头字段  
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';  
  
        # 预检请求的有效期  
        add_header 'Access-Control-Max-Age' 1728000;  
  
        # 处理OPTIONS预检请求  
        if ($request_method = 'OPTIONS') {  
            add_header 'Content-Type' 'text/plain charset=UTF-8';  
            add_header 'Content-Length' 0;  
            return 204;  
        }  
  
        # 其他配置...  
    }  
}
皖ICP备2024056275号-1
发表了80篇文章 · 总计150.57k字
本站已稳定运行