Nginx配置免费HTTPS详细教程

这篇具有很好参考价值的文章主要介绍了Nginx配置免费HTTPS详细教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景说明

开发的软件系统基本都是http开发,在项目部署是,甲方要求传输必须启用HTTPS,从而想到用Nginx配置启用SSL模块,并使用(443端口)HTTPS进行反向代理。正式项目中SSL证书肯定是要花钱购买,当然也有免费的(通常是1年有效期)。今天介绍的SSL证书是通过 openssl生成免费的证书,除了网页会提示不安全之外,其他都是正常的。

环境准备说明

项目 说明
系统 CentOS 7.9
Nginx 1.24.0

安装Nginx及依赖环境

nginx具体安装步骤不描述,网上教程很多,不是本文的重点。

若你已经安装了Nginx,但是没有启用ssl模块,建议保存好配置文件(conf目录下全部文件),然后重新安装。
查看当前nginx安装了哪些模块,可以用这个命令: nginx -V
nginx配置免费的ssl,nginx,https,运维

准备:yum安装依赖环境
yum -y install openssl openssl-devel make zlib zlib-devel gcc gcc-c++ libtool    pcre pcre-devel
编译时一定要启用ssl模块,才能使用https
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
make install

编译时会检查当前系统的依赖环境是否满足,可根据error提示内容,通过yum进行安装!!!

配置HTTPS步骤

接下来的操作,才是本文重点,分为2个阶段,第一:创建ssl证书;第二:nginx启用https并绑定证书;
首先,如果要使用https,那么就需要有https证书,这是前置条件。获取途径有2种,一种是通过正规途径购买,这样的证书经过了认证,访问使用时不会提示“不安全”。第二种,就是免费的,本文介绍使用openssl生成RSA密钥及证书,具体操作如下

步骤1:创建服务器私钥

在root家目录下操作,防止找不到文件了。。
cd ~
openssl genrsa -des3 -out server.key 1024
输入密码:rmcp@2023

nginx配置免费的ssl,nginx,https,运维

步骤2:创建签名请求的证书(CSR)

openssl req -new -key server.key -out server.csr
根据提示,输入信息,最终会得到2个文件,csr和key

nginx配置免费的ssl,nginx,https,运维

步骤3:加载SSL支持的Nginx并使用私钥时去除口令

备份key文件
cp server.key server.key.bak
openssl rsa -in server.key.bak -out server.key
输入刚才设置的密码:rmcp@2023

nginx配置免费的ssl,nginx,https,运维nginx配置免费的ssl,nginx,https,运维

步骤4:将密钥文件移动到Nginx配置文件目录下,后续操作切换为conf目录下执行命令。

mv server.key server.csr /usr/local/nginx/conf/
cd /usr/local/nginx/conf/

nginx配置免费的ssl,nginx,https,运维

步骤5:自动签发证书,获取CRT文件

Days代表证书有效期(天)
openssl x509 -req -days 10240 -in server.csr -signkey server.key -out server.crt

nginx配置免费的ssl,nginx,https,运维
nginx配置免费的ssl,nginx,https,运维

步骤6:修改Nginx配置文件,启用HTTPS模块。

vim nginx.conf
修改nginx默认配置文件,启用https以及443端口
修改防火墙,开放443端口。
并重新启动Nginx

nginx配置免费的ssl,nginx,https,运维
nginx配置免费的ssl,nginx,https,运维

步骤7:验证443端口是否正常访问

浏览器提示不安全时,选择继续访问即可。
出现下面页面,说明配置正确。
nginx配置免费的ssl,nginx,https,运维

步骤8:配置反向代理,将原来HTTP端口转换为HTTPS,并验证平台功能。

验证成功后:使用nginx反向代理原来的web网站
修改后要重启nginx
nginx配置免费的ssl,nginx,https,运维
最终效果如下图:
nginx配置免费的ssl,nginx,https,运维文章来源地址https://www.toymoban.com/news/detail-848571.html

总结

  1. 配置ssl证书时,要注意会输入很多密码,若你搞不清各个密码代表的含义,直接用一个密码即可。
  2. 反向代理的网站,需要注意内部不能含有http的接口或者链接,否则会出错,比如某图片时http的URL地址,则使用https代理后就无法显示了
  3. 域名因为没有认证,所以时随意写的,当然若是购买的ssl证书,是要求认证的域名,则不存在问题。
  4. 若想通过域名访问,可以修改host来实现

到了这里,关于Nginx配置免费HTTPS详细教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【基础篇】Nginx安装 SSL模块、配置 HTTPS详细步骤

    nginx安装 1、查看 nginx是否安装 http_ssl_module 模块 如果出现 configure arguments: –with-http_ssl_module, 则已安装(下面的步骤可以跳过,进入 SSL 证书部署、nginx.conf 配置)。 否则按下述执行命令。 2、进入nginx源码包,重新执行下面命令,重新编译安装三部曲 3、上述命令执行完以后

    2023年04月16日
    浏览(56)
  • nginx配置https后报错nginx: [emerg] https protocol requires SSL support in XXX.conf详细解决方法

    最近,在测试环境的nginx里增加了一个 https 配置: 然后,执行命令: 结果,nginx就报错了: 百度发现,是之前安装nginx时没有安装ssl模块,需要重新安装一个nginx。步骤如下: 1.下载好nginx安装包,例如 nginx-1.17.2.tar.gz 2.查看下目前nginx使用的配置是什么: 发现,确实没有ss

    2023年04月08日
    浏览(54)
  • Nginx 域名SSL证书配置(网站 http 升级为 https) acme.sh 申请免费SSL永久证书(自动续期)

    小编这里用的是godaddy购买的域名 服务器是aws acme.sh GitHub地址  https://github.com/acmesh-official/acme.sh 配合nginx进行部署,后面会贴上nginx.conf 我这里是多个域名用同一个证书    首先你得在自己服务器上面进行部署nginx,如果不知道怎么操作的,可以参考我这一篇博客,执行到这一

    2024年01月24日
    浏览(59)
  • Nginx搭建Https反向代理,使用阿里云免费SSL证书 - Docker

    没有docker需提前安装docker,不知怎么安装的请自行百度。 1、拉取镜像 2、去阿里云或者其他云服务提供商申请免费证书,申请到之后下载下来,上传到服务器 把证书上传到ssl目录下面,下面是ssl的目录结构 /root/nginx/ssl 和上传的证书有两个文件一个 .key 一个 .pem 进入nginx-pr

    2024年02月09日
    浏览(97)
  • 配置https---Nginx认证ssl证书

    nginx作为前端的负载均衡服务器已经很熟悉了,项目需要使用https安全的时候就需要认证证书了 dockerweb管理工具 Portainer 如果对docker不那么熟悉可以使用docker 第三方管理端 然后访问本地9000端口,登录后可以管理容器镜像 有了该工具可以直接进入容器查看日志等操作 nginx环境安装

    2024年01月19日
    浏览(52)
  • nginx配置ssl证书使用https访问

    一:申请证书,我使用的是阿里云免费证书 二:下载证书,解压到服务器上 两个文件:www.xx.com.pem和www.xx.com.key 三:打开配置文件/usr/local/nginx/conf/nginx.conf 放开端口443,替换ssl_certificate和ssl_certificate_key为自己证书路径    server {         listen       443 ssl;         server_na

    2024年01月20日
    浏览(59)
  • NGINX 配置本地HTTPS(免费证书)

    生成秘钥key,运行: 会有两次要求输入密码,输入同一个即可。输入密码然后你就获得了一个server.key文件。 以后使用此文件(通过openssl提供的命令或API)可能经常回要求输入密码,如果想去除输入密码的步骤可以使用以下命令: 创建服务器证书的申请文件server.csr,运行: 其中Country

    2024年02月03日
    浏览(39)
  • Nginx配置ssl证书实现https安全访问

    目录 一、Nginx的安装与配置 安装步骤 二、SSL证书获取 三、Nginx配置 前题条件,拥有服务器与可以解析到该服务器的自己的域名。 若已安装好了Nginx,则需查看自己的Nginx是否开启了SSL的模块功能:  显示如上,则代表ssl功能已开启,否则可能出现以下错误提示: nginx: [emer

    2024年02月15日
    浏览(39)
  • Nginx 配置SSL,开放https协议和443端口

    目录 一、准备工作 二、生成私钥(key) 三、生成证书签名请求/公钥(csr) 四、生成证书(crt) 五、给nginx配证书 六、访问测试 阅读本文前您需要学会如何安装Nginx, 如果您还不会安装Nginx请参考CentOS7安装Nginx,或者直接关注本栏目Nginx。         如果是在Windows下,请

    2024年02月04日
    浏览(39)
  • 配置SSL证书后,Nginx的HTTPS 不能正常

    申请ssl证书,配置nginx支持https与证书,可是访问https的nginx总是出现错误,也导致小程序发https请求失败,这是什么原因呢? 如果在配置SSL证书后,Nginx的HTTPS无法正常工作,可能有以下几个常见原因: 1、证书配置错误: 证书文件路径出现错误或不存在;文件格式错误;证书

    2024年02月03日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包