A-A+

Linux配置https协议(转)

2021年04月28日 方法、技巧 暂无评论

这篇文章主要介绍了nginx配置ssl证书实现https访问的示例

1、服务器系统:Centos

2、 阿里云申请SSL证书

选择“免费版DV SSL”,点击立即购买:

下载证书

列表中找到已签发的证书,下载:

进入下载页面,并“下载证书 for Nginx”:

下载的文件有两个:

5562768_www.xxx.cn.pem

5562768_www.xxx.cn.key

3、服务器安装,配置nginx

4、配置SSL证书

nginx的安装目录为:/etc/nginx/。进入目录,增加cert/文件夹,把刚刚下载的两个文件上传到cert/文件夹中。

打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,其中 80 端口、443端口配置如下 ?

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
user  www www;
 
worker_processes auto;
 
error_log  /home/wwwlogs/nginx_error.log  crit;
 
pid        /usr/local/nginx/logs/nginx.pid;
 
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
 
events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }
 
http
    {
        include       mime.types;
        default_type  application/octet-stream;
 
        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;
 
        sendfile   on;
        tcp_nopush on;
 
        keepalive_timeout 60;
 
        tcp_nodelay on;
 
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
 
        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";
 
        #limit_conn_zone $binary_remote_addr zone=perip:10m;
        ##If enable limit_conn_zone,add "limit_conn perip 10;" to server section.
 
        server_tokens off;
        access_log off;
 
server
    {
        listen 80;
        listen 443 ssl;
        server_name www.xxx.cn; //这里是需要配置的域名
        index index.html index.htm index.php;
        root  /usr/local/nginx/html/ecshop/; //这里是网站路径
        #ssl on; 这里要注释掉
        ssl_certificate /usr/local/nginx/conf/cert/5562768_www.xxx.cn.pem;  //这里是需要配置的pem所在路径
        ssl_certificate_key /usr/local/nginx/conf/cert/5562768_www.xxx.cn.key;  //这里是需要配置的key所在路径
 
 
        #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;
}

(上面的配置文件,仅供参考,如果不能用,可以多搜一下其他网站提供的代码)

配置完成后,检查一下nginx配置文件是否可用,有successful表示可用。

$ nginx -t // 检查nginx

配置文件配置正确后,重新加载配置文件使配置生效:

$ nginx -s reload // 使配置生效

至此,nginx的https访问就完成了,并且通过rewrite方式把所有http请求也转成了https请求,更加安全。

本文部分内容来源:https://www.lpjnote.com/67.html

给我留言

Copyright © 众人搜索网 保留所有权利.   Theme  Ality 鲁ICP备11032800号-1

用户登录 ⁄ 注册