配置nginx实现https访问

安装nginx

官网下载和系统匹配的nginx,解压即可

安装OpenSSL

若网站有https的证书跳过2、3、4步即可,若没有证书则需要自己生成

由于代理https需要使用证书,这里我们使用OpenSSL生成自签名的证书,可以下载与系统相匹配的OpenSSL程序进行安装,安装过程一直下一步即可,下载地址

配置环境变量

  1. 新增环境变量 OPENSSL_HOME,变量值为 D:\OpenSSL-Win64,指向OpenSSL的安装路径
  2. 新增环境变量 OPENSSL_CONF,变量值为 D:\OpenSSL-Win64\bin\openssl.cfg,指向openssl.cfg文件目录
  3. 在环境变量path的末尾添加 %OPENSSL_HOME%\bin

生成证书

在nginx安装目录创建 ssl文件夹,用于存放证书,如我的是 F:\nginx-1.16.1\ssl,以管理员权限运行cmd并进入创建的ssl目录

创建私钥

在命令行中执行命令 openssl genrsa -des3 -out demo.key 1024 ,demo是私钥文件名,可以自定义,此处需要输入和验证密码,输入的密码请记住,后面会用到,这里输入的密码是 123456
1586003554_1_.png

创建crs证书

在命令行中执行 openssl req -new -key demo.key -out demo.csr,其中key文件就是第一步生成的私钥,demo为自定义的文件名,如下所示,这里主要设置的是国家地区以及组织的一些信息,其中最重要的是 Common Name,这里输入的就是我们要用https访问的域名,也是nginx中所要配置的 server_name,完成所有步骤后,ssl文件夹中会生成demo.csr和demo.key两个文件
1586004067_1_.png

去除密码

在加载SSL支持的Nginx并使用上述私钥时除去必须的口令,否则会在启动nginx的时候需要输入密码。复制demo.key并重命名为demo.key.org。
在命令行中执行此命令:openssl rsa -in demo.key.org -out demo.key 如下图所示,此命令需要输入刚才设置的密码。

生成crt证书

在命令行中执行此命令:openssl x509 -req -days 365 -in demo.csr -signkey demo.key -out demo.crt

证书生成完毕,我们在ssl文件夹中可以看到生辰的证书文件,我们要用到的就是demo.crt和demo.key。

修改nginx配置

在nginx.conf配置文件中添加一个如下server

server {
        listen  443 ssl;
        server_name  www.demo.com;
        ssl_certificate      F:/nginx-1.16.1/ssl/demo.crt;
        ssl_certificate_key  F:/nginx-1.16.1/ssl/demo.key;

        location / {
          root   html;
          index  index.html index.htm;
        }
    }

启动nginx

正常启动nginx后,使用 https://127.0.0.1:443 访问,可以正常跳转
20181031234338193.png

posted @ 2021-08-15 21:50  ~鲨鱼辣椒~  阅读(2642)  评论(0)    收藏  举报