Nginx 配置多个SSL域名指向不同端口


文章目录

  • Nginx 配置多个SSL域名指向不同端口
  • 前言
    • 1、nginx 配置 多个http域名,多个项目
    • 2、nginx 配置 多个SSL域名指向不同端口
    • 3、nginx 配置 http域名主动跳转https域名

前言

提示:系统版本ubuntu 16.0.4,以下配置仅供参考

项目开发过程中,我们同一个服务器都会存放多个项目,每个项目都会有不同的域名地址,因此本文记录如何配置多个域名、多个ssl证书以及http域名自动跳转https域名问题。


说明:nginx配置文件每行具体是干嘛的就不做介绍了,配置文件的其他配置也不放了,直接介绍使用方法

1、nginx 配置 多个http域名,多个项目

代码如下(示例):server_name配置不同项目域名,通过不同代理跳转到指定项目路径

    # 第一个项目server {listen       80;server_name  www.abc.com;     # 网址一location / {root   html;index  index.html index.htm;proxy_pass http://127.0.0.1:8081/;    # 项目端口号}error_page   500 502 503 504  /upgrade.html;location = /upgrade.html {root   html;}}# 第二个项目server {listen       80;server_name  www.def.com;   # 网址二location / {root   html;index  index.html index.htm;proxy_pass http://127.0.0.1:8082/;   # 项目端口号}client_max_body_size 50m;error_page   500 502 503 504  /upgrade.html;location = /upgrade.html {root   html;}}

2、nginx 配置 多个SSL域名指向不同端口

代码如下(示例):这种情况属于1的升级,对步骤1的两个项目域名进行证书加密。
监听的端口为443,如何443没开启,百度下如何开启ssl端口,增加如下配置

 # 第一个项目server {listen       443 ssl;server_name  www.abc.com;   # 域名一ssl_certificate      xxxxxxx.pem;ssl_certificate_key  xxxxxxx.key;  # 自己申请的ssl证书,以阿里为例直接可以申请免费的ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;client_max_body_size 50m;location / {root   html;index  index.html index.htm;proxy_pass http://127.0.0.1:8081/;}error_page   500 502 503 504  /upgrade.html;location = /upgrade.html {root   html;}}# 第二个项目server {listen       443 ssl;server_name  www.def.com;   # 域名二ssl_certificate      xxxxxxx.pem;ssl_certificate_key  xxxxxxx.key;  # 这是www.def.com域名的ssl证书ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;client_max_body_size 50m;location / {root   html;index  index.html index.htm;proxy_pass http://127.0.0.1:8082/;}error_page   500 502 503 504  /upgrade.html;location = /upgrade.html {root   html;}}

到这里两个项目的证书已经配置完成了,使用 https://域名 已经可以访问,但如果直接使用域名访问,还是http格式的,下面配置一下http自动跳转https

3、nginx 配置 http域名主动跳转https域名

代码如下(示例):以第一个项目为例,其他项目按照这个方式改变就可以。
将第一个项目之前配置的http方式修改一下

 # 原来第一个项目 http域名跳转server {listen       80;server_name  www.abc.com;     # 网址一location / {root   html;index  index.html index.htm;proxy_pass http://127.0.0.1:8081/;    # 项目端口号}error_page   500 502 503 504  /upgrade.html;location = /upgrade.html {root   html;}}

修改之后的,这样再访问www.abc.com会直接跳转到加密网址

   server{listen       80; server_name  www.abc.com;  # 域名一rewrite ^(.*) https://$server_name$1 permanent;   #重写地址}

http自动跳转https方式有多种
1、强制重写成安全地址(本文)
2、使用301重定向的方式将 http 的请求重定向到 https 上

   server{listen       80; server_name  www.abc.com;  # 域名一return 301 https://$server_name$request_uri;   # 重定向}

3、使用error_page,将http和https的监听配置写在同一个server块中,相当于将上面的两个server进行整合,包括其他配置也写在同一个server中

   server {listen 80;listen 443 ssl;server_name www.abc.com;ssl on;ssl_certificate      xxxxxxx.pem;ssl_certificate_key  xxxxxxx.key;  # 这是www.abc.com 域名的ssl证书# 其他配置项,这里省略error_page 497 https://$server_name$request_uri;
}

提示:配置完成后,先关闭nginx服务进程,再重新启动!!!!因为有时候 sudo nginx -s reload 重新加载会不起作用。

Nginx 配置多个SSL域名指向不同端口相关推荐

  1. nginx配置-根据UA进行域名跳转且仅限域名访问

    随着移动用户的增长,web应用中,根据用户UA进行PC端.移动端的跳转是必要的,常见的方式有三种:前端js根据UA做重定向,后端根据UA返回不同的路径,在nginx中处理,这里用的是第三种.还配置了 ...

  2. nginx配置一、二级域名、多域名对应(api接口、前端网站、后台管理网站)

    前提:安装好nginx,如果已经启动nginx,先停止,命令: ./usr/local/nginx/sbin/nginx -s stop 修改nginx配置 vi /usr/local/nginx/c ...

  3. Nginx配置WS、WSS域名

    文章目录 一.Nginx配置WS 二.Nginx配置WSS 一.Nginx配置WS WS的全称是WebSocket,Nginx配置WebSocket也比较简单,只需要在nginx.conf文件中进行相 ...

  4. nginx配置重启后新域名及其访问不起作用

    1.nginx配置2个server后 第一个域名1,访问第一个ip1:port1 第二个域名2,访问第二个ip1:port2 2.重启nginx后,使用第一个域名访问正常.使用第二个域名访问时,访问的 ...

  5. nginx快速配置自签SSL域名证书

    缺德地图持续迷路中 简单说明 CSR文件生成网站 制作CA自签证书 测试nginx安装 访问测试 Linux主机访问测试 windows主机访问测试 简单说明 在制作证书之前,先简单说明一下关于制作域 ...

  6. nginx配置多个一级域名https访问的配置

    首先已有两个域名 www.test1.com ,www.test2.com nginx的安装略过 1.在nginx安装目录下创建cert目录 在Nginx的安装目录下创建cert目录 2.在cert目 ...

  7. nginx配置华为云ssl证书

    nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module解决办法如下: (1)在 /usr/local/src ...

  8. nginx配置https访问 生成ssl自签名证书,浏览器直接访问

    问题 nginx配置自签名ssl证书,来支持https访问nginx,在浏览器中访问nginx时,提示有风险.而访问其他各大网站时,也是使用了https协议,为什么可以直接访问,而不提示有风险呢? 解 ...

  9. Nginx系列之使用ssl模块配置支持代理HTTPS链接

    Nginx系列之使用ssl模块配置支持HTTPS访问 1.博客前言介绍 最近在用nginx代理https的第三方链接,因为不是做运维,所以对nginx并不是特殊熟悉,所以到处询问摸索了挺久 2.查看s ...

  10. IM开源项目OpenIM部署文档-从准备工作到nginx配置

    IM开源项目OpenIM部署文档-从准备工作到nginx配置 2022-11-14 22:27·OpenIM 一.准备工作 运行环境 linux系统即可, Ubuntu 7.5.0-3ubuntu1~ ...

最新文章

  1. 360展示广告智能化演进
  2. js 连接mysql_关于Node.js 链接mysql超时处理(默认8小时)
  3. php元素浮动会产生哪些影响,元素浮动的影响与三列布局的实现原理——2019年9月4日22时30分...
  4. NeHe教程Qt实现——lesson09
  5. web service notes
  6. YUV422转RGB24
  7. java 屏蔽地域性访问_javaweb利用filter拦截未授权请求
  8. 收文处理和发文处理的环节_公文处理,如何提速增效
  9. 从下往上看--新皮层资料的读后感 第一部分:皮层细胞
  10. 目标追踪论文之狼吞虎咽(1):VITAL算法
  11. 如何用计算机计算一元三次方程,计算器如何解一元三次方程?
  12. 试算平衡表示例图_科目汇总表代试算平衡表
  13. 2020计算机校友会大学排名,2020年校友会大学排名:一个世界一流大学,一个中国一流大学...
  14. python 画三角形matli_Python实现PS滤镜特效之扇形变换效果示例
  15. instant-ngp总结
  16. 致远SPM国资企业解决方案之督查督办管理
  17. matlab第一次学习成果
  18. Python爬虫+数据分析+数据可视化(分析《雪中悍刀行》弹幕)
  19. JavaScript得到鼠标坐标代码如下
  20. POJ 3131 Cubic Eight-Puzzle

热门文章

  1. 测试 这篇是拿来测试51ditu的OpenAPI的
  2. python输入姓名输出欢迎你某某同学_2018-03-24 python 练习
  3. 让电脑说话vbs程序
  4. Linux 基本指令 Pt.2
  5. js删除数组,checkedBox选中状态,javascript数组删除重复项
  6. waiter.OnGreet(Tom) Delegate event
  7. 2010总结,2011展望
  8. 关于视频编码I P B帧存储,编码,解码,显示顺序的理解
  9. mysql根据idb还原数据_转一篇文章:MySQL 通过idb文件恢复Innodb 数据
  10. Springboot 中类不能使用@Value注解从yml中加载值