nginx 配置 ssl

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

 公有云:nginx 配置 SSL - 公有云文档中心 (qingcloud.com)

自签,参考:https 自签名SSL证书 - aaron_agu - 博客园 (cnblogs.com)

 自签,可以使用acme.sh: 用acme.sh帮你免费且自动更新的HTTPS证书,省时又省力 - 知乎 (zhihu.com)

第一步:Nginx的ssl模块安装

在配置ssl证书之前,要确保你的nginx已经安装了ssl模块,一般情况下自己安装的nginx都是不存在ssl模块的。

这里先检查下自己是否存在ssl模块:

进入到你的nginx安装目录下面,我的目录是在(/usr/local/nginx),如果你的nginx安装步骤和上面的文章一致的话,那你的目录和我应该是一致的

进入到目录的sbin目录下,输入

#注意这里是大写的V,小写的只显示版本号

./nginx -V

如果出现 (configure arguments: --with-http_ssl_module), 则已安装(下面的步骤可以跳过)。

一般情况下都是不存在ssl模块的,接下来进入到你的解压缩后的nginx目录,注意这里不是nginx安装目录,是tar包解压缩后的目录,我的是在(/root/nginx),进入目录后,输入

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

接下来执行

make #切记不要执行make install,否则会重新安装nginx

参考:Nginx配置Https(详细、完整) - huiblog - 博客园 (cnblogs.com)

第二步

第1步-创建SSL证书

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

key:/etc/ssl/private/xxx.key
证书:/etc/ssl/certs/xxx.crt

需要输入与服务器关联的域名或服务器的公共IP地址 

Output
 Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:New York City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Bouncy Castles, Inc.
Organizational Unit Name (eg, section) []:Ministry of Water Slides
Common Name (e.g. server FQDN or YOUR name) []:your_domain_or_server_IP_address
Email Address []:admin@your_domain.com

 步骤2 —配置Nginx使用SSL 

nginx配置文件路径:

/etc/nginx/nginx.conf
/etc/nginx/conf.d

nginx启动脚本路径:

/usr/sbin/nginx
检查配置文件
./nginx -t
重新加载配置文件
./nginx -s reload

配置ssl

server {
	listen		80;
	server_name	ti.watcherlab.com;
	rewrite		^(.*)$	https://${server_name}$1	permanent; 
                        //配置http自动跳转https
}

server {
listen			443 ssl;                     //服务接口
server_name		ti.watcherlab.com;           //域名或者ip
	
ssl_certificate              /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key          /etc/ssl/private/nginx-selfsigned.key;
ssl_session_cache            shared:le_nginx_SSL:1m;
ssl_session_timeout          1440m;
ssl_protocols                TLSv1 TLSv1.1 TLSv1.2;
#ssl_ciphers                  HIGH:!ADH:!MD5;
ssl_ciphers                  "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS";

ssl_prefer_server_ciphers    on;
error_page 497 301 https://$http_host$request_uri; 
                         //配置http自动跳转https,需要把上面的server{}全部注释掉
}

查看配置状态:

nmap -sV -p 34627 --script ssl-enum-ciphers 192.168.1.213 

 参考:(15条消息) debian nginx_如何在Debian 10上为Nginx创建自签名SSL证书_cukw6666的博客-CSDN博客

点击劫持漏洞修复

在nginx配置中的相应的location 下添加

 add_header X-Frame-Options SAMEORIGIN;文章来源地址https://www.toymoban.com/news/detail-400763.html

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

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

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

相关文章

  • 【前端Vue】社交信息头条项目完整笔记第3篇:三、个人中心,TabBar 处理【附代码文档】

    社交媒体-信息头条项目完整开发笔记完整教程(附代码资料)主要内容讲述:一、项目初始化使用 Vue CLI 创建项目,加入 Git 版本管理,调整初始目录结构,导入图标素材,引入 Vant 组件库,移动端 REM 适配。二、登录注册准备,实现基本登录功能,登录状态提示,表单验证,验证码处理

    2024年04月16日
    浏览(40)
  • docker 部署项目的操作文档,安装nginx

    在Linux系统上,Docker默认将镜像存储在 /var/lib/docker 目录下。这个目录包含了Docker的运行时数据,包括镜像、容器、卷等。 在 /var/lib/docker 目录下,镜像的具体存放位置如下: 镜像层(Image Layers): /var/lib/docker/image/overlay2 目录下存放了镜像的各个层。 镜像元数据(Image Meta

    2024年01月20日
    浏览(32)
  • 计算机毕业设计 智慧养老中心管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

    博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 ——————————

    2024年02月04日
    浏览(40)
  • Nacos配置中心中配置文件的创建、微服务读取nacos配置中心

    在企业项目中会有非常多的服务,不同的开发环境还有不同的配置文件,所以就导致配置文件非常多。 那么肯定就会有一些公共配置,多个服务都是使用过一样的,那么就可以使用配置中心来进行统一管理,避免修改一个配置项要去各个服务都改一遍。 使用传统方式的配置

    2024年02月02日
    浏览(30)
  • Nacos 注册中心和配置中心

                            打开nacos虚拟机

    2024年02月06日
    浏览(26)
  • Nacos配置中心 (介绍与配置)

    当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。 Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。

    2024年02月02日
    浏览(25)
  • springboot整合eureka、config搭建注册中心和配置中心

    这篇文章详细介绍怎么通过eureka和config分别搭建一个注册中心和配置中心的服务。 目录 一 、springboot整合eureka搭建注册中心 二、springboot整合config搭建配置中心 三、从配置中心拉取配置 1、在IntelliJ IDEA中创建一个springboot项目,并命名为eureka 2、修改pom.xml,添加eureka-server的依

    2024年02月16日
    浏览(33)
  • Spring Cloud Alibaba 微服务2,注册中心演变 + Nacos注册中心与配置中心

    🏆作者简介: 哪吒 ,CSDN2022博客之星Top1、CSDN2021博客之星Top2、多届新星计划导师✌、博客专家💪 , 专注Java硬核干货分享,立志做到Java赛道全网Top N。 🏆本文收录于 Java基础教程系列(进阶篇) ,本专栏是针对大学生、初级Java工程师精心打造, 针对Java生态,逐个击破,

    2024年02月02日
    浏览(38)
  • springboot+nacos配置中心获取配置失败

    配置写在boostrap.yml中,因为bootstrap.yml启动要先于application.yml 参数说明 1. 检查参数是否正确 需要注意的是namespace对应的是nacos中的命名空间的ID 并不是命名空间的名称 2.检查nacos的版本和启动方式 如果nacos的版本是2.0 启动方式是docker容器启动,那么就需要检查启动nacos的映射

    2024年02月13日
    浏览(35)
  • Nacos配置中心之引用不到配置文件问题

    一、Springboot中application.yml、application.properties和bootStrap.yml的加载顺序 1、SpringApplication位于项目根目录,所以所有得代码要和SpringApplication所在目录平级或下一级 2、以jar包发布springboot项目时,默认会先使用jar包跟目录下的application.properties来作为项目配置文件。 如果在不同的

    2024年02月07日
    浏览(26)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包