Nginx下配置,SSL For Free网站获取Let's Encrypt免费SSL证书

2024-05-31 03:18

本文主要是介绍Nginx下配置,SSL For Free网站获取Let's Encrypt免费SSL证书,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、背景

    注册了个小程序,发现后台必须走HTTPS协议,可以在 ssl for free 免费申请证书,尝试了下,并且配置到了服务器。

二、申请证书

SSl For Free

1.输入域名创建证书

创建证书。

2.证书文件获取

选择手动上传验证文件,获取证书

手动上传验证文件

获取验证文件,并在网站跟目录创建目录mkdir -p .well-known/acme-challenge,把下载的文件上传到该目录

验证文件上传

3.证书下载

证书下载下来包含三个文件private.key,certificate.crt,ca_bundle.crt.

Nginx 的ssl配置要求证书文件是一个,需要把certificate.crt,ca_bundle.crt合并.我刚开始根据这个教程进行合并处理Nginx ssl,用linux下的cat命令进行合并,一直报错

SSL: error:0906D066:PEM routines:PEM_read_bio:bad end line

合并的有问题,证书文件的尾部分隔符出错.我改成使用notepad++,对两个文件进行合并处理.结果如下图

三、Nginx 配置

1.方式一(http跳转到https配置):

配置参考如下

#
# The default server
#
server {listen       443;server_name  test.domain.com;index index.php default.html default.htm default.php;root         /data/test.domain.com;ssl on;ssl_certificate /data/ssl/cert_chain.crtssl_certificate_key /data/ssl/test.domain.com.key;ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {try_files $uri $uri/ /index.php?$query_string;}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}location ~ \.php$ {fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include        fastcgi_params;}
}

注意,一定要开放443端口

因为浏览器默认是走http协议,所以建议在写个配置文件,重定向到当前https协议的web.

配置如下

server{listen 80;server_name  test.domain.com;rewrite ^/(.*) https://test.domain.com/$1 permanent;
}

重启nginx 。.

2.方式二(http,https同时可以访问配置):

配置如下

server{listen    80;#listen    443 ssl;    # 关键配置项1server_name  test.domain.com;#ssl_certificate       /data/ssl/cert_chain.crt;   # 关键配置项2#ssl_certificate_key   /data/ssl/test.domain.com.key;  # 关键配置项3index index.php;root  /www/webroot/test.domain.com;access_log  /www/webroot/test.domain.com/access.log  main;location / {index index.php index.html;if ( !-e $request_filename){rewrite ^/(.*)$ /index.php?s=$1 last;break;}}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {expires      30d;}location ~ .*\.(js|css)?$ {expires      30d;}location ~ .*\.(php|php5)?$ {fastcgi_pass  127.0.0.1:9000;fastcgi_index index.php;include fastcgi.conf;}
}

重启nginx 。
 

这篇关于Nginx下配置,SSL For Free网站获取Let's Encrypt免费SSL证书的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1017315

相关文章

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Spring中配置ContextLoaderListener方式

《Spring中配置ContextLoaderListener方式》:本文主要介绍Spring中配置ContextLoaderListener方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录Spring中配置ContextLoaderLishttp://www.chinasem.cntene

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下:

golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法

《golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法》:本文主要介绍golang获取当前时间、时间戳和时间字符串及它们之间的相互转换,本文通过实例代码给大家介绍的非常详细,感兴趣... 目录1、获取当前时间2、获取当前时间戳3、获取当前时间的字符串格式4、它们之间的相互转化上篇文章给大家介

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

详解nginx 中location和 proxy_pass的匹配规则

《详解nginx中location和proxy_pass的匹配规则》location是Nginx中用来匹配客户端请求URI的指令,决定如何处理特定路径的请求,它定义了请求的路由规则,后续的配置(如... 目录location 的作用语法示例:location /www.chinasem.cntestproxy

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片