博客
关于我
Nginx多域名,多证书,多服务配置,实用版
阅读量:791 次
发布时间:2023-02-15

本文共 2394 字,大约阅读时间需要 7 分钟。

1. 情景介绍
目前有一个项目需要在同一台服务器上配置多个域名、多证书和多服务。正式环境需要支持两个域名:xxx.com 和 www.xxx.com,分别对应两个SSL证书:xxx.com_bundle.pem 和 xxx.com.key。测试环境同样需要支持两个域名:test-xxx.com 和 www.test-xxx.com,对应的证书文件为test-xxx.com_bundle.pem 和 test-xxx.com.key。 此外,用户已经将Nginx安装在/usr/local/nginx目录下,并为Nginx创建了系统命令。Nginx的编译已经包含了SSL相关依赖。
2. 解决方案
Ⅰ. 将证书文件上传至服务器 首先,在/usr/local/nginx目录下创建ssl目录,用于存放所有SSL证书文件。 执行命令:cd /usr/local/nginx && mkdir ssl 将所有相关的证书文件上传至ssl目录。例如: cd ssl && rz 上传完成后,ssl目录下应包含以下文件: nginx SSL配置文件: - xxx.com_bundle.pem - xxx.com.key - test-xxx.com_bundle.pem - test-xxx.com.key

Ⅱ. 修改Nginx配置文件

打开/usr/local/nginx/conf/nginx.conf文件,添加以下配置:

服务器块配置(正式环境):

server {    listen 80;    server_name xxx.com www.xxx.com;    return 301 https://$server_name$request_uri;}

SSL配置(正式环境):

server {    listen 443 ssl;    server_name xxx.com www.xxx.com;    ssl_certificate /usr/local/nginx/ssl/xxx.com_bundle.pem;    ssl_certificate_key /usr/local/nginx/ssl/xxx.com.key;    ssl_session_cache shared:SSL:1m;    ssl_session_timeout 5m;    ssl_ciphers HIGH:!aNULL:!MD5;    ssl_prefer_server_ciphers on;    location / {        root /usr/ui/html;        index index.html index.htm;    }    # 其他配置...}

服务器块配置(测试环境):

server {    listen 80;    server_name test-xxx.com www.test-xxx.com;    return 301 https://$server_name$request_uri;}

SSL配置(测试环境):

server {    listen 443 ssl;    server_name test-xxx.com www.test-xxx.com;    ssl_certificate /usr/local/nginx/ssl/test-xxx.com_bundle.pem;    ssl_certificate_key /usr/local/nginx/ssl/test-xxx.com.key;    ssl_session_cache shared:SSL:1m;    ssl_session_timeout 5m;    ssl_ciphers HIGH:!aNULL:!MD5;    ssl_prefer_server_ciphers on;    location / {        root /usr/test-ui/html;        index index.html index.htm;    }    # 其他配置...}

Ⅲ. 创建测试配置文件

在/usr/local/nginx/conf目录下创建nginx.test.conf文件,并添加以下内容:

# 测试环境配置server {    listen 80;    server_name xxx.com www.xxx.com;    return 301 https://$server_name$request_uri;}server {    listen 443 ssl;    server_name test-xxx.com www.test-xxx.com;    ssl_certificate /usr/local/nginx/ssl/test-xxx.com_bundle.pem;    ssl_certificate_key /usr/local/nginx/ssl/test-xxx.com.key;    ssl_session_cache shared:SSL:1m;    ssl_session_timeout 5m;    ssl_ciphers HIGH:!aNULL:!MD5;    ssl_prefer_server_ciphers on;    location / {        root /usr/test-ui/html;        index index.html index.htm;    }    # 其他配置...}

Ⅳ. 启动Nginx

停止当前Nginx服务:
nginx -s stop
启动Nginx服务:
nginx

转载地址:http://xecfk.baihongyu.com/

你可能感兴趣的文章
Neo4j的安装与使用
查看>>
Neo4j(2):环境搭建
查看>>
Neo4j(4):Neo4j - CQL使用
查看>>
Neo私链
查看>>
NervanaGPU 项目使用教程
查看>>
Nerves 项目教程
查看>>
nessus快速安装使用指南(非常详细)零基础入门到精通,收藏这一篇就够了
查看>>
Nessus漏洞扫描教程之配置Nessus
查看>>
Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
查看>>
nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML.
查看>>
nestesd exception is java .lang.NoSuchMethodError:com.goolge.common.collect
查看>>
nestJS学习
查看>>
net core 环境部署的坑
查看>>
NET Framework安装失败的麻烦
查看>>
Net 应用程序如何在32位操作系统下申请超过2G的内存
查看>>
Net.Framework概述
查看>>
NET3.0+中使软件发出声音[整理篇]<转>
查看>>
net::err_aborted 错误码 404
查看>>
NetApp凭借领先的混合云数据与服务把握数字化转型机遇
查看>>
Netbeans 8.1启动参数配置
查看>>