当前位置: 首页 > ai >正文

Ubuntu nginx 配置 SSL 证书支持 https 请求

证书格式转换地址:https://myssl.com/cert_convert.html

安装证书

一、 证书格式

申请的 nginx pem 证书一般包含 private.keypublic.pem 文件,分别为加密的私钥和公钥文件。如果不是 pem 格式的证书,请通过文章开头的转换网址进行转换

二、 在nginx里部署证书及优化配置ssl

到nginx的conf目录,找到nginx.conf文件,修改或者配置这样一段

server {listen 443;server_name  www.trustasia.com #你们的域名,如www.abc.com;ssl	on;ssl_certificate      /xxx/xxx/server.pem; #根据实际的路径和文件名配置ssl_certificate_key   /xxx/xxx/server.key; #根据实际的路径和文件名配置ssl_session_timeout  5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配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;}
}

下面为配置文件参数说明:

参数说明
listen 443SSL访问端口号为443
ssl on启用SSL功能
ssl_certificate证书文件server.pem
sslcertificatekey私钥文件server.pem
ssl_protocols使用的协议
ssl_ciphers配置加密套件,写法遵循openssl标准

配置完成后,先用 sudo nginx -t来测试下配置是否有误,正确无误的话,建议重载 nginx `sudo nginx -s reload。

三、 使用全站加密,http自动跳转https(可选)

对于用户,不是不知道https,就是知道https也因为懒,不愿意输入https。这样就有一个需求,让服务器自动把http的请求重定向到https。

在服务器这边的话配置的话,可以在页面里加js脚本,也可以在后端程序里写重定向,当然也可以在web服务器来实现跳转。Nginx是支持rewrite的(只要在编译的时候没有去掉pcre)

在http的server里 增加rewrite ^(.*) https:$host$1 permanent; 这样就可以实现80进来的请求,重定向为https了。

server {server_name  www.trustasia.comrewrite ^(.*) https:$host$1 permanent; # rewrite 和 server_name 在同一层级
}

四、端口转发示例(可选)

在配置 nginx 时,进行端口转发是很常规的操作。端口转发时,一般需要添加一些额外的参数才能满足满足正常使用需求, 这里以请求转发到 8081 端口为例,提供一般的配置参考。您可根据自己的实际需求进行修改。

server {location / {proxy_pass http://127.0.0.1:8081;proxy_set_header X-Real-IP $remote_addr; # 无此配置读取用户 ip 时读到的是127.0.0.1proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;add_header Access-Control-Allow-Origin *; # 跨域问题add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';}}```
http://www.xdnf.cn/news/7985.html

相关文章:

  • 数据结构 -- B树和B+树
  • 插值算法 - 图像缩放插值QT
  • 容器化与云原生安全
  • 深入剖析 5G 核心网中的 PLMN
  • 青少年编程与数学 02-020 C#程序设计基础 01课题、C#编程概要
  • launch 在Kotlin 中怎么使用
  • [Vue]路径跳转和路由高级设置
  • SC3000智能相机-自动存图
  • java后端-海外登录(谷歌/FaceBook)
  • Appium+python自动化(二)- 环境搭建—下
  • Go 语言中的 Struct Tag 的用法详解
  • mysql可重复读隔离级别下的快照读和当前读
  • leetcode 148. Sort List
  • 力扣-无重复字符的最长子串
  • Golang 内存模型小结
  • Qt 最新版6.9.0使用MQTT连接腾讯云详细教程
  • window 显示驱动开发-视频内存供应和回收(一)
  • jquery.table2excel方法导出
  • 鸿蒙仓颉开发语言实战教程:实现商城应用首页
  • 尼科彻斯定理
  • Vue 3.0中自定义指令
  • 01-jenkins学习之旅-window-下载-安装
  • 【云原生安全】零信任与机密计算
  • Qt C++实现马的遍历问题
  • 【JavaEE】(1) 计算机如何工作
  • 阿里巴巴 MCP 分布式落地实践:快速转换 HSF 到 MCP server
  • 记录:uniapp 上线部署到微信小程序vendorjs包过大的问题
  • 外网如何连接内网中的mysql数据库服务器?简单网络工具方案
  • Cause: org.apache.ibatis.ognl.OgnlException: sqlSegment
  • 【C++】位图+布隆过滤器