nginx配置https

背景:公司服务器因为app上架等原因,要提供https访问。

服务端:nginx1.18.0 windowsserver

整体流程:生成相关证书文件=》配置nginx的https访问=》设置https转http=》云服务器安全组添加443端口

一.生成相关证书文件

相关工具:openssl,windows版本下载地址是Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions自己去看合适的版本。我的是win64,下载的是http://slproweb.com/download/Win64OpenSSL-3_0_2.msi

安装注意:

1.安装过程有一个选择,是把dll复制到windows目录下或者在安装的bin目录下,默认是第一个,我手动选择了第二个。

2.安装完成后有一个给组织捐款的选择,是多选框,不捐款取掉勾选即可。

生成相关文件:

1.生成test.key文件

cmd 然后cd到openssl安装目录下的bin目录,就可以使用openssl命令了。

命令:openssl genrsa -des3 -out test.key 1024

输入密码后,文件就生成在openssl安装目录下的bin目录里面了。文件名字就是your.key

2.生成csr文件

命令:openssl req -new -key test.key -out test.csr

依次输入:国家、省、城市、公司名字、团队名字、个人名字、邮箱、密码、公司名字

其中国家不能用中文,我输入的是CN。其他我都写的中文。密码我选择key文件密码一样的。

3.复制 test.key 并重命名为test.key.org

命令:openssl rsa -in test.key.org -out test.key

4.生成 crt 证书

命令:openssl x509 -req -days 3650 -in test.csr -signkey test.key -out test.crt

5.复制文件到服务器

我把test.key、test.key.org、test.csr、test.crt这4个文件复制到了nginx下面新建的ssl目录

二、三。配置nginx的https访问以及设置https转http

server {
       listen       443 ssl;
       server_name  www.xxx.cn;//配置你的域名

       ssl_certificate      C:/softs/nginx-1.18.0/ssl/test.crt;
       ssl_certificate_key  C:/softs/nginx-1.18.0/ssl/test.key;

       ssl_session_cache    shared:SSL:1m;
       ssl_session_timeout  5m;

       ssl_ciphers  HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers  on;

       location / {
           # 转发到 http 服务器中
           proxy_pass http://localhost;
       }
    }

备份nginx/conf/nginx.conf文件,在其底部也可能看到有注释掉的443端口那一段,本身就是配置https访问的例子。在其后面添加了上面这一段即可。保存后 nginx -s reload 重新加载了配置文件。一般没有错误。

注意:server_name写你的域名。证书及key的路径写你的实际路径。

location节点中proxy_pass http://localhost;就把https端口转发到了本机http(我的默认是80)了。

四。云服务器安全组添加443端口

之前是配置了无法访问(浏览器提示访问超时),但服务器访问https://127.0.0.1或者https://localhost是可以正常访问的。显然是有安全把我的请求挡住了。我的服务器是阿里云,我默认是没有打开443端口的。去添加了后,https://www.xxx.cn就可以正常访问了。

参考资料网址:

用 Nginx 实现 https 转 http_lvye1221的博客-CSDN博客_nginx将https转http

Windows下为nginx配置https证书服务 - 一夜枫声 - 博客园

后记:最近更新的都是中医调理实战记录。因为工作内容保密原因,很多技术的内容不能写。等产品上架,获得公司许可后,再一一解密。:) 土豆

你可能感兴趣的:(nginx,环境搭建,服务器,nginx,https,http,证书)