LNMP环境配置SSL证书实现https访问_lnmp ssl --default -c

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

python -c "import ssl; print ssl.OPENSSL\_VERSION"

显示结果如下:

OpenSSL 1.0.1e-fips 11 Feb 2013

版本不一致会造成SSL加密解密失败,需要重新编译Python的SSL扩展的版本,顺便升级以下Python,Python2.X稳定版本是2.7.12,我选择将Python升级至2.7.12版本。
Python升级方法如下:

1、更新Python:

通过官网Python下载链接下载Python2.7.12源码:

cd ~ && wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
①、解压Python:
tar -zxvf Python-2.7.12.tgz
②、进入目录:
cd Python-2.7.12/
③、安装Python:

安装Python时需要更新SSL扩展,所以需要修改Setup文件:

vi Modules/Setup.dist 

修改以下内容:

# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c

# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c \
       -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
       -L$(SSL)/lib -lssl -lcrypto
# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

保存文件后开始编译安装Python:

./configure
make all && make install
make clean

安装完成之后需要配置环境,

2、让系统默认使用Python2.7.12:

需要将原来环境中的Python移除:

mv /usr/bin/python /usr/bin/python2.7.5

然后建立新的链接:

ln -s /usr/local/bin/python2.7 /usr/bin/python

这时输入python -V查看Python版本,显示结果如下:

Python 2.7.12

再查看Python的SSL扩展的版本:

python -c "import ssl; print ssl.OPENSSL\_VERSION"

显示结果如下:

OpenSSL 1.0.2j  26 Sep 2016

这样就说明Python的SSL扩展已经更新了。
yum默认使用的是Python2.7.5,为了避免使用yum时出错,需要修改/usr/bin/yum/usr/libexec/urlgrabber-ext-down文件:

vi /usr/bin/yum

修改首行内容:

#!/usr/bin/python

改为以下内容:

#!/usr/bin/python2.7.5

python下的setuptools带有一个easy_install的工具,在安装python的每三方模块、工具时很有用,也很方便。
安装setuptools:

cd ~ && wget https://pypi.python.org/packages/dc/37/f01d823fd312ba8ea6c3aea906d2d6ac9e9e8bf9e7853e34f296e94b0d0d/setuptools-32.0.0.tar.gz
tar -zxvf setuptools-32.0.0.tar.gz
cd setuptools-32.0.0
python setup.py install

检查心脏滴血漏洞的方法:

cd ~ && git clone https://github.com/Lekensteyn/pacemaker.git
cd pacemaker && python ssltest.py ip地址

如果没有漏洞就会收到如下提示:

No heartbeat response received, server likely not vulnerable

如果不是这样的话请升级OpenSSL版本。

3、使用LetsEncrypt生成免费的证书:

生成教程:LetsEncrypt证书生成教程,生成结束在/etc/letsencrypt/live/xxx.com/存放路径下可以看到四个证书:

    cert.pem
    chain.pem
    fullchain.pem
    privkey.pem

关于证书更新问题:

LetsEncrypt虽然是永久免费,但是目前要每3个月更新一下,所以需要配合Crontab来执行证书更新操作,执行的命令参考上述教程
4、配置Nginx服务器,使服务器支持SSL访问

我的服务器是LNMP环境,访问接下来就该配置Nginx服务器了,使Nginx支持ssl访问,四个证书中,如果服务器是Apache就选1-3;Nginx就选1+4,我是Nginx服务器,就选择cert.pemprivkey.pem,我这里单独写Nginx的配置:

①、创建SSL设置的配置文件:
![](https://img-blog.csdnimg.cn/img_convert/9a8cb5f8c0ec69e6499adead0da6e95b.png)



最全的Linux教程,Linux从入门到精通

======================

1.  **linux从入门到精通(第2版)**

2.  **Linux系统移植**

3.  **Linux驱动开发入门与实战**

4.  **LINUX 系统移植 第2版**

5.  **Linux开源网络全栈详解 从DPDK到OpenFlow**



![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/59742364bb1338737fe2d315a9e2ec54.png)



第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。



![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/9d4aefb6a92edea27b825e59aa1f2c54.png)



**本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。**

> 需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
![img](https://img-blog.csdnimg.cn/img_convert/b266b395fff35f9276e5a6610ca15017.jpeg)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
nux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
[外链图片转存中...(img-XlwZItBC-1713376661422)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LNMP 环境(Linux + Nginx + MySQL + PHP)中配置 SSL 证书,你可以按照以下步骤进行操作: 1. 获取 SSL 证书:你可以购买 SSL 证书或使用免费的工具(如 Let's Encrypt)来获取证书。确保你获得了证书文件(通常是以 `.crt` 结尾)和私钥文件(通常是以 `.key` 结尾)。 2. 将证书和私钥文件放置在服务器上:将证书和私钥文件上传到服务器上的安全目录中,例如 `/etc/nginx/ssl/`。 3. 配置 Nginx:找到 Nginx 的虚拟主机配置文件(通常位于 `/etc/nginx/conf.d/your_site.conf`),并进行以下修改: ``` server { listen 443 ssl; server_name your_domain.com; ssl_certificate /etc/nginx/ssl/your_certificate.crt; ssl_certificate_key /etc/nginx/ssl/your_private_key.key; # 可选:为了增加安全性,你可以配置其他 SSL 相关的设置,例如: # ssl_protocols, ssl_ciphers, ssl_prefer_server_ciphers, ssl_session_cache 等 location / { root /path/to/your/web/files; index index.php index.html index.htm; try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/var/run/php/php<version>-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } ``` 将 `your_domain.com` 替换为你的域名,将 `/etc/nginx/ssl/your_certificate.crt` 和 `/etc/nginx/ssl/your_private_key.key` 替换为你实际的证书和私钥文件的路径。将 `/path/to/your/web/files` 替换为你网站文件的实际路径。将 `<version>` 替换为你安装的 PHP 版本号。 4. 重启 Nginx:保存并关闭配置文件后,使用以下命令重启 Nginx 以使配置生效: ``` sudo systemctl restart nginx ``` 完成以上步骤后,你的 LNMP 环境将通过 HTTPS 提供安全连接,并且能够处理 PHP 文件。请确保在防火墙中打开了 443 端口,并在 DNS 中正确地将域名指向你的服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值