本地生成自签名证书,测试https的nginx文件服务器

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情

1、程序下载

下载nginx: nginx1.22

image.png

下载openssl: opnessl

image.png

2、配置nginx文件服务器:

1、解压nginx压缩包到指定位置,进入文件夹,打开命令行窗口:执行命令

./nginx -V
复制代码

查看nginx版本信息; 如果有显示-with-http_ssl_module表示已编译openssl,支持安装ssl.

2、打开配置文件ngix.conf文件;修改成如下配置:

    autoindex on;# 显示目录
    autoindex_exact_size on;# 显示文件大小
    autoindex_localtime on;# 显示文件时间
 server {
        listen       80;
        server_name  192.168.1.15;
        #access_log  logs/host.access.log  main;
        location / {
            root   D:\ps\files; #配置本地文件夹路径
            #index  index.html index.htm;
        }

复制代码

进入nginx文件夹,打开命令行窗口,执行启动命令:

start nginx
复制代码

访问本地ip查看是否成功显示文件目录;

3、修改nginx.conf文件后,可以使用命令:

./nginx -s reload
复制代码

重启服务; image.png 如果需要停止服务,可以使用命令:

./nginx -s stop
复制代码

3、生成自签名证书:

1、安装下载后的openssl程序: 2、安装完成后,进入安装目录下的bin文件夹下,打开命令行窗口; 3、开始执行生成自签名命令:

  • 生成RSA密钥:需要输入一次密码;执行命令:
openssl genrsa -des3 -out D:/ps/filessl.key  2048
复制代码

win10机器在写文件到C盘的时候,会有权限提示,建议写入其他盘中;

  • 拷贝一个不需要密码的密钥
openssl rsa -in D:/ps/filessl.key  -out D:/ps/filessl_nopass.key
复制代码

image.png

  • 生成一个证书请求:
openssl req -new -key D:/ps/filessl.key  -out D:/ps/filessl.csr
复制代码

这里会提示输入一些信息,按照提示填写既可;

  • 上面的密钥和CSR对证书签名,生成证书文件:
openssl x509 -req -days 365 -in D:/ps/filessl.csr -signkey D:/ps/filessl.key -out D:/ps/filessl.crt
复制代码

image.png

证书文件已生成;

4、nginx配置ssl:

修改nginx.conf文件:

 server {
        listen       80;
        listen    443 ssl;
        server_name  192.168.1.15;
	
        ssl_certificate  D:\ps\filessl.crt;
        ssl_certificate_key  D:\ps\filessl_nopass.key;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;
       
        #root D:\ps\files;
        
        location / {
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Credentials true;
            add_header Access-Control-Allow-Headers X-Requested-With; 
            add_header Access-Control-Allow-Methods GET,POST,OPTIONS;  
            #autoindex on;
            root   D:\ps\files;
            #index  index.html index.htm;
        }
复制代码

主要添加 listen 443 ssl和ssl证书路径相关配置

5、验证

访问添加https方式; 如果不能访问,检查是否开启防火墙的443端口

猜你喜欢

转载自juejin.im/post/7111638126866464775
今日推荐