liunx nginx配置ssl 配置https 及访问失败问题排查(fopen:No such file or )([emerg] the “ssl“ parameter requires)

这篇具有很好参考价值的文章主要介绍了liunx nginx配置ssl 配置https 及访问失败问题排查(fopen:No such file or )([emerg] the “ssl“ parameter requires)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

liunx nginx配置ssl 配置https 及访问失败问题排查

一、提前准备

1.ssl证书下载

nginx配置ssl证书无效,nginx,Liunx,nginx,ssl,https
比如腾讯云下载目录:
nginx配置ssl证书无效,nginx,Liunx,nginx,ssl,https

首先在网址(阿里云、腾讯云等)找到域名ssl下载,下载后解压里面有xxx.yey、xxx.pem、xxx.crt等文件
在服务器nginx配置里新建个文件夹,如我的nginx 在 /usr/local/nginx这个目录

cd  /usr/local/nginx/conf
mkdir cert

2.将ssl证书文件拷贝至服务器

如:

scp wys.cn.pem root@127.0.0.1:/usr/local/nginx/conf/cert
scp wys.cn.key root@127.0.0.1:/usr/local/nginx/conf/cert
scp wys.cn.crt root@127.0.0.1:/usr/local/nginx/conf/cert
·······

3.检查有没有ssl插件(nginx -V 中V大写)

nginx -V

查询结果:


----有ssl插件
nginx version: nginx/1.13.7
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --with-http_ssl_module

-----没有ssl插件
nginx version: nginx/1.13.7
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
configure arguments:
3.1如果没有ssl插件 就要切换到nginx安装包目录 执行命令了

【如果不是root用户 执行命令前加sudo ,如sudo cd xxx】
先备份nginx启动文件

cd /usr/local/nginx/sbin/
cp nginx nginx.bak

再添加插件 重新编译nginx启动文件【make 不能是make install,会覆盖之前的配置】
然后拷贝新文件

cd /xxx/nginx-1.13.7
 ./configure --with-http_ssl_module
make

cp objs/nginx  /usr/local/nginx/sbin/

二、修改nginx配置

1.编辑 Nginx 根目录下的 nginx.conf 文件。修改内

容如下:

1.1带注释版
server {
     #SSL 默认访问端口号为 443
     listen 443 ssl; 
     #请填写绑定证书的域名
     server_name cloud.tencent.com; 
     #请填写证书文件的相对路径或绝对路径
     ssl_certificate cloud.tencent.com_bundle.crt; 
     #请填写私钥文件的相对路径或绝对路径
     ssl_certificate_key cloud.tencent.com.key; 
     ssl_session_timeout 5m;
     #请按照以下协议配置
     ssl_protocols TLSv1.2 TLSv1.3; 
     #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
     ssl_prefer_server_ciphers on;
     location / {
         #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
         #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
         root html; 
         index  index.html index.htm;
     }
 }

1.2不带注释版【可能粘贴的时候注释会导致格式错误】
server {
 
     listen 443 ssl; 
  
     server_name cloud.tencent.com; 
   
     ssl_certificate cloud.tencent.com_bundle.crt; 
   
     ssl_certificate_key cloud.tencent.com.key; 
     ssl_session_timeout 5m;
 
     ssl_protocols TLSv1.2 TLSv1.3; 
   
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
     ssl_prefer_server_ciphers on;
     location / {
      
         root html; 
         index  index.html index.htm;
     }
 }

2.通过执行以下命令验证配置文件问题。

nginx -t

正常返回:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

若存在,请您重新配置或者根据提示修改存在问题。
若不存在,请执行3.

3. 通过执行以下命令重载 Nginx。

nginx -s reload

4. 重载成功,即可使用 https://cloud.tencent.com 进行访问。(自己的域名)

三、可能遇到的问题 及解决方案

1.找不到文件

nginx -t

nginx: [emerg] BIO_new_file("/usr/local/nginx/conf/certt/wys.cn_bundle.crt") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/usr/local/nginx/conf/certt/wys.cn_bundle.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

检查报错的文件路径是否和自己的文件路径不一致,修改正确即可。

2.没有ssl插件

./nginx -t

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:122
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

请按照 提前准备中的3.1步骤执行

3.端口号问题【配置正常没有报错,https却访问不了】

3.1服务器内防火墙端口是否打开

首先使用systemctl status firewalld命令检查是否开启防火墙,如为未开启要systemctl start firewalld启动

systemctl status firewalld
--如果未启动则执行启动(一般是启动的)
systemctl start firewalld

然后使用命令开放443端口号。

firewall-cmd --zone=public --add-port=443/tcp --permanent

最后使用

firewall-cmd --reload

命令重新加载防火墙。

3.2.云服务器端口是否开发

登录云服务器,检查443端口是否正常开放
nginx配置ssl证书无效,nginx,Liunx,nginx,ssl,https

4.http如何自动跳转https

修改原来的80端口即可,修改后重新执行nginx -t和nginx -s reload

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        #填写绑定证书的域名
        server_name wys.cn www.wys.cn;
        #把http的域名请求转成https
        return 301 https://$host$request_uri;
 #       location / {
 #           root   html;
 #           index  index.html index.htm;
 #       }

5如果nginx不能在全局使用的话 可以拷贝到/bin

如:

cp /usr/local/nginx/sbin/nginx /bin

之后在任意目录下 即可执行nginx 如 【nginx -t】 前面不加./

参考链接

链接: 腾讯云官方 Nginx 服务器 SSL 证书安装部署文档
如果次篇文章对您有帮助的话,点个赞吧 谢谢!文章来源地址https://www.toymoban.com/news/detail-544607.html

到了这里,关于liunx nginx配置ssl 配置https 及访问失败问题排查(fopen:No such file or )([emerg] the “ssl“ parameter requires)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • nginx配置监听443端口,开启ssl协议,走 https 访问

    最近有个项目需要上线到浙政钉工作台,那边要求项目走 https 访问,但是服务器没有进行相应的配置一直都是走的 http,于是乎对服务器进行的一番配置,注明:linux 服务器 ,记录一下相关的踩坑记录,以及完整版的成功配置流程。 各位找到各自服务器上的 nginx 安装目录,

    2024年02月06日
    浏览(48)
  • nginx配置SSL证书配置https访问网站 超详细(附加配置源码+图文配置教程)

    最近在阿里云上入手了一台云服务器,准备搭建一套java程序,在 Nginx 配置SSL证书时,配上之后前端可以正常以https的方式打开,但是访问不到后端,自己也是明明知道是 Niginx 配置的问题,但就不知道错哪了,当时心里的那种感觉真是无法表达呜呜呜… 经过排查发现 前端访

    2024年02月11日
    浏览(33)
  • nginx配置监听443端口,开启ssl协议,走 https 访问_nginx 443(1)

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新Linux运维全套学习资料》,

    2024年04月22日
    浏览(35)
  • linux 下生成ssl自签证书, 并配置nginx通过https访问

    因为映射了域名,需要升级为https,由于是IP地址访问,所以生成自签名证书并设置nginx 这里服务端和客户端的Organization Name (eg, company)以及Organizational Unit Name都必须要和CA的不一样才可以

    2024年02月11日
    浏览(31)
  • SpringBoot + Vue2项目打包部署到服务器后,使用Nginx配置SSL证书,配置访问HTTP协议转HTTPS协议

    配置nginx.conf文件,这个文件一般在/etc/nginx/...中,由于每个人的体质不一样,也有可能在别的路径里,自己找找... 证书存放位置,可自定义存放位置 两个文件 后端配置 把.pfx拷贝到resource下,然后配置一下yml

    2024年02月02日
    浏览(51)
  • windows10下设置本地apache\nginx站点部署ssl证书,使本地配置的域名可以用https访问

    首先我们需要下载openssl来生成证书文件: 去官方网址下载https://slproweb.com/products/Win32OpenSSL.html; 下载好了,双击exe文件,然后就下一步,下一步安装完成; 安装之后配置环境变量,新建一个系统变量OPENSSL_HOME,值就是你安装目录下的bin,然后在系统变量path,增加%OPENSSL_HO

    2024年02月15日
    浏览(33)
  • nginx开启https配置之后网页无法访问问题处理

        最近新购服务器部署nginx之后按照之前的方式部署前端项目并配置https之后访问页面显示:无法访问.新的服务器ECS系统和之前相同,nginx安装方式也相同,nginx配置方式也是相同.但是访问还是显示无法访问.下面简单记录一下问题处理过程.     1.https访问之后无法访问先确定

    2024年02月05日
    浏览(30)
  • 【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解

    1、购买云服务器 我购买的是 阿里云ECS(2核2G) ,具体购买流程这里不做过多讲解。 注意 :中国大陆的阿里云服务器(套餐为3个月以上),想要使用域名访问服务器需要 备案 ,低于3个月使用期的服务器不可以备案(不可以使用域名访问),我购买的是7天有效期,服务器

    2024年01月22日
    浏览(43)
  • Nginx SSL_PROTOCOL_ERROR 问题排查与解决办法

    在使用 Nginx 作为反向代理服务器时,有时候会遇到 SSL_PROTOCOL_ERROR 错误。这个错误表示 SSL/TLS 握手过程中出现了问题,导致连接无法建立或者无法正常通信。本文将介绍一些常见的排查步骤和解决办法来解决这个问题。 检查 SSL/TLS 配置 首先,我们需要检查 Nginx 的 SSL/TLS 配置

    2024年02月04日
    浏览(33)
  • Linux下Nginx配置SSL模块,Nginx安装SSL,Nginx支持https配置详细教程

    前提:Linux安装Nginx,参考教程:CentOS7安装Nginx完整教程,Linux系统下保姆式安装Nginx教程 | 老麻 安装好Nginx之后,需要支持SSL时,要单独安装SSL模块,方法如下: 输入 ./nginx –V 命令,注意V是大写,查看配置是否包含“–with-http_ssl_module”,包含则表示已配置好SSL,如果不包

    2024年02月08日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包