使用nginx配置一个ip对应多个域名

简介: 使用nginx配置一个ip对应多个域名

需求:

两个域名想指向同一个网站ip;

解决:

  • 如果不需要https的证书访问,其实不需要配置,在域名解析中,分别添加同一个ip即可,通过dns解析,映射到同一个网站上;
  • 如果需要https访问,就需要配置一下443端口了;
  • 首先申请一下ssl证书,选择nginx部署;
  • 多个域名只需要,添加sever配置既可;

在http{}中新增server配置;
原有server

 server {
        listen       80 default_server;
        server_name  www.**.cn;
        root         /usr/share/nginx/html;
}
server {
     #SSL 默认访问端口号为 443
     listen 443 ssl;
     server_name cloud.***.com; 
     ssl_certificate cloud.***.com_bundle.crt; 
     ssl_certificate_key cloud.***.com.key; 
     ssl_session_timeout 5m;
     ssl_protocols TLSv1.2 TLSv1.3; 
     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;
     }
 }

原有server监控了80和443端口,原样复制一份,替换域名和证书既可;

重启服务命令:

service nginx restart

如果报错,可以使用命令查询详情:

service nginx status && journalctl -xe

之前因为配置错误,提示了一些信息;
在这里插入图片描述
安提示信息,修改后就没事了


如果觉得复制在一个文件中太复杂,可以考虑每一个域名单独写一个文件中;

在http{}中 添加一行代码,加载文件夹下所有配置;
在这里插入图片描述

然后编写一个域名为文件名的配置文件;将证书信息也放到文件夹内;

配置文件内输入之前复制的配置信息;

   server {
        listen       80;
        server_name  www.***.cn;
        root         /usr/share/nginx/html;

       location / {
           proxy_set_header HOST $host;
           proxy_set_header X-Forwarded-Proto $scheme;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }



    server {
        listen       443 ssl;
        server_name  www.***.cn;
        root         /usr/share/nginx/html;
        autoindex on;

        ssl_certificate  conf.d/1_www.***.cn_bundle.crt;
        ssl_certificate_key conf.d/2_www.***.cn.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers PROFILE=SYSTEM;
        ssl_prefer_server_ciphers on;

       location / {
           proxy_set_header HOST $host;
           proxy_set_header X-Forwarded-Proto $scheme;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

这样在有多个域名时,nginx.conf不会写的太复杂;比较清晰;

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
19小时前
|
前端开发 JavaScript 应用服务中间件
前端vue2、vue3去掉url路由“ # ”号——nginx配置(二)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
9 0
|
1天前
|
JavaScript 前端开发 应用服务中间件
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
7 0
|
2天前
|
网络协议 对象存储
阿里云oss配置自有域名
阿里云oss配置自有域名
9 1
|
4天前
|
安全 应用服务中间件 网络安全
SSL原理、生成SSL密钥对、Nginx配置SSL
现在,你的Nginx虚拟主机应该已经配置了SSL,可以通过HTTPS安全访问。确保在生产环境中使用有效的SSL证书来保护通信的安全性。
15 0
|
6天前
|
域名解析 缓存 负载均衡
Nginx正向代理域名的配置
Nginx正向代理域名的配置
|
7天前
|
前端开发 JavaScript 应用服务中间件
修改Jeecg-boot context-path(附加图片+Nginx配置)
修改Jeecg-boot context-path(附加图片+Nginx配置)
14 0
|
17天前
|
应用服务中间件 nginx
nginx进行反向代理的配置
在Nginx中设置反向代理的步骤:编辑`/etc/nginx/nginx.conf`,在http段加入配置,创建一个监听80端口、服务器名为example.com的虚拟主机。通过`location /`将请求代理到本地3000端口,并设置代理头。保存配置后,使用`sudo nginx -s reload`重载服务。完成配置,通过example.com访问代理服务器。
25 0
|
29天前
|
存储 缓存 负载均衡
阿里云DNS常见问题之域名DNS跳转有问题如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
29天前
|
域名解析 弹性计算 网络协议
阿里云DNS常见问题之确认域名是否在Private zone解析失败如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
29天前
|
域名解析 缓存 网络协议
阿里云DNS常见问题之新购域名阿里云DNS无法解析如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集: