资讯专栏INFORMATION COLUMN

180602-nginx多域名配置

maochunguang / 2686人阅读

摘要:多域名配置原来的域名过期了,重新买了一个,正好重新的配置一下,针对之前写过的几个不同的东西,通过不同的子域名来进行区分,因此简单记录一下的多域名配置域名配置背景因为资金有限,只有一台服务器,但是这个服务器上干的事情却不止一件,当前的状况是有

nginx多域名配置

原来的域名过期了,重新买了一个hhui.top,正好重新的配置一下,针对之前写过的几个不同的东西,通过不同的子域名来进行区分,因此简单记录一下nginx的多域名配置

I. 域名配置 1. 背景

因为资金有限,只有一台服务器,但是这个服务器上干的事情却不止一件,当前的状况是有下面几个

zweb : 一个多媒体工具网站,前端ReactJS写的,独立打包;后端为java部署在Tomcat中的应用media

mweb : 古诗词wap网,每天推荐12首经典古诗词;前端ReactJS编写,独立打包;后端Java部署在Tomcat中的应用Story

media:多媒体处理应用,Git开源,实现图片编辑, 二维码, markdown,svg渲染,html渲染,音频编辑等功能

Story: 古诗词的后端,提供古诗词查询,检索推荐和订阅等基本功能,未开源

一灰灰Blog 基于Hexblog搭建的个人博客

所以这台服务器上,从应用角度出发,有五个不同的功能的服务,主要区分为两类:

静态的html前端页面

部署在Tomcat上的Java应用

2. 域名配置

五个服务,会配置五个不同的子域名:

将前端静态页面,在服务器上放在不同的目录下,不通的域名,映射到不同的目录

Tomcat暴露8080端口,不同的应用放在webapps下不同的目录

a. 域名与文件映射

拿简单的 zweb 和 mweb 来设置,直接映射即可

server {
    listen       443 ssl;
    server_name  zweb.hhui.top;

    # https 证书配置
    ssl_certificate      zwebcert/1529370953598.pem;
    ssl_certificate_key  zwebcert/1529370953598.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   # ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    root /tmp/html/zweb;
}

server {
    listen       443 ssl;
    server_name  mweb.hhui.top;

    # https 证书配置
    ssl_certificate      zwebcert/1529370953598.pem;
    ssl_certificate_key  zwebcert/1529370953598.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   # ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    root /tmp/html/mweb;
}

简单来讲,一个子域名对应一个配置项,设置其中的server_name为目标域名

然后就是设置root,映射到不同的前端地址即可

b. 博客配置映射

个人博客虽然也是静态页面,但是不太一样的是博客的源码托管在git上,并借助了github的page服务,因此实际访问的域名会多一个后缀,如

https://liuyueyi.github.io/hexblog/

所以如果直接用上面的方法,会导致js和css文件404,主要是因为借助hexo搭建博客时,指定了path路径,所以要做一个简单的域名匹配

server {
    listen       443 ssl;
    server_name  blog.hhui.top;

    ssl_certificate      blogcert/1529816324478.pem;
    ssl_certificate_key  blogcert/1529816324478.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   # ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    root /tmp/html/blog;

    location = / {
       index index.html;
       rewrite ^(.*)$ /hexblog/ break;
    }
    location / {
       root /tmp/html/blog;
    }
}

上面的配置,相比较前面的,主要就是拦截了下默认的首页,强制跳转到指定的目录下

c. Tomcat代理
server {
    listen       443 ssl;
    server_name  media.hhui.top;

    ssl_certificate      mediacert/1528000080078.pem;
    ssl_certificate_key  mediacert/1528000080078.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   # ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    root /tmp/html/media/;
    location / {
        proxy_pass http://media.hhui.top:8080/media/;
        proxy_redirect default;
    }
}

常见的代理转发配置了,nginx作为代理,将请求转发到Tomcat,也就那么一个简单的配置,主要利用的是 proxy_redirect

II. 小结

主要记录一个简单的配置,关于nginx详细的配置相关,之前写过一个博文,加上友情链接

Nginx-路由转发配置笔记/

上面配置体验:

https://blog.hhui.top/

https://zweb.hhui.top/

https://mweb.hhui.top/

III. 其他 一灰灰Blog: https://liuyueyi.github.io/he...

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

声明

尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

微博地址: 小灰灰Blog

QQ: 一灰灰/3302797840

扫描关注

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39948.html

相关文章

  • 【云分发 UCDN】域名配置:概述,域名基本信息和操作和回源配置

    摘要:详见域名基础信息域名配置信息包含回源配置,缓存配置等,可自主进行操作修改配置。源站域名当源站为时,需指定回源为源站域名,否则回源会失败。进入域名配置详情页面,选择域名配置基础设置回源设置,进行回源相关配置。UCloudCDN控制台【域名管理】页面下,您将会看到账户计费方式、流量消耗剩余明细,加速域名基本信息展示、加速域名配置等。本文将有助您了解并使用UCloud CDN产品。功能概述基本操作...

    Tecode 评论0 收藏0
  • 【云分发 UCDN】快速上手:域名审核,配置CNAME和停止UCDN服务

    摘要:审核完成后,还需要到处配置记录,配置记录后才能完成加速。最后可以用命令查看是否对此域名解析成功,如下图代表解析成功停止服务当您不想使用加速服务时,可以在控制台上删除指定加速域名。域名审核当所有配置完成,点击确定,提交加速请求,等待UCloud审核,如下图状态:审核将在半小时内完成,如果超过半小时还未审核通过,请联系我司技术支持(qq:4000188113,tel:4000188113)或者客...

    Tecode 评论0 收藏0
  • 播放域名配置 云直播 ULive

    摘要:在域名管理播放加速列表,点击需要配置域名后的详情,进入域名配置。播放域名黑白名单播放域名黑白名单播放域名黑白名单黑白名单黑白名单黑白名单只允许配置黑名单或者白名单的一种,允许空,支持正则输入,使用回车符分割多个。 播放域名配置本篇目录修改源站地址配置播放鉴权直播延时IP黑白名单referer黑白名单目前播放域名配置支持设置源站地址,播放鉴权,直播延时,IP黑白名单,referer黑白名单;如...

    ernest.wang 评论0 收藏2314
  • 使用云厂商托管K8S时容器域名解析注意事项

    摘要:云厂商托管服务的域名解析注意事项使用云厂家提供托管式,的域名解析参数,通过界面创建的话,可能厂商界面没有开放配置,采用了一些默认值,在使用时候,需要了解清楚厂商提供的默认配置,否则会存在问题。原文链接使用云厂商托管时容器域名解析注意事项 云厂商托管 Kubernetes 服务的 Pod 域名解析注意事项 使用云厂家提供托管式Kubernetes,Pod的域名解析参数,通过界面创建Pod...

    canger 评论0 收藏0
  • Nginx的安装和域名配置

    摘要:二配置文件的配置文件默认读取文件。域名还可以分出级域名。这时候发现和域名访问都只是对应到了使用端口的程序默认的。需要注意的是这句命令应该放在的花括号内。 一、Nginx安装 centos6.x yum默认没有nginx的软件包 安装方式: 到nginx下载页面http://nginx.org/en/linux_pac...,复制CENTOS 6的nginx软件源安装包 运行命令:wge...

    luoyibu 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<