必威体育Betway必威体育官网
当前位置:首页 > IT技术

nginx根据域名转发服务

时间:2019-06-09 07:44:12来源:IT技术作者:seo实验室小编阅读:54次「手机版」
 

域名转发

背景:申请了一个域名计划是用这个域名部署三个不同的服务在同一台服务器上,我通过一级、二级域名来区分不同的服务。

如:a.com  对应8080这个服务,b.a.com 对应8081这个服务, c.a.com对应8082这个服务。

首先应该在DNS解析器中配置a.com,b.a.com, c.a.com这三个域名的解析,然后通过nginx转发。

根据域名配置了三个转发:

http://www.ha.com      前后端分离,静态页面放在web/rest目录下,后台请求根据请求路径转发到http://localhost:8080

http://images.ha.com   图片服务器

https://admin.ha.com   转发请求到https://localhost:8081

直接上配置:

worker_processes  4;    #处理器个数

#pid        logs/nginx.pid;

events {

worker_connections  1024;

}

http {

include       mime.types;

default_type  APPlication/octet-stream;

sendfile        on;

#tcp_nopush     on;

#keepalive_timeout  0;

#gzip  on;

server {

listen       80;

server_name  www.ha.com;    #根据域名拦截http服务

access_log   logs/portal.access.log;  #设置访问日志存储位置和名称

location / {

root   web/rest;    #静态页面

index  index.html;

}

ERROR_page  404              /404.html;

error_page  500 502 503 504  /404.html;

location = /50x.html {

root   html;

}

location ^~ /api/ {

proxy_pass   http://localhost:8080;    #根据请求路径转发给后台服务(将包含/api/的请求转发)

}

add_header Access-Control-Allow-Origin *;        #允许跨域

add_header Access-Control-Allow-headers X-requested-With;

add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

}

server {

listen       80;    #根据域名拦截http服务

server_name  admin.ha.com;

location / {

root   html; 

index  bad.html;  #拦截所有的http请求到html/bad.html,即不允许http访问,只能通过https访问

}

}

server {

listen       443 ssl;    #根据域名拦截https服务

server_name  admin.ha.com;

access_log   logs/admin.access.log;

ssl_certificate      ../ssl/test.crt;

ssl_certificate_key  ../ssl/test.key;

ssl_session_cache    shared:SSL:1m;

ssl_session_timeout  5m;

ssl_ciphers  HIGH:!aNULL:!MD5;

ssl_prefer_server_ciphers  on;

location / {

proxy_http_version 1.1; 

proxy_set_header Connection "";

proxy_pass https://localhost:8081;   

}

}

server {

listen       80;   

server_name  images.ha.com;    #根据域名拦截https服务

access_log  logs/images.access.log;

location / {

root   E:/data/;     #图片存放位置

}

add_header Access-Control-Allow-Origin *;

add_header Access-Control-Allow-Headers X-Requested-With;

add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

}

}

相关阅读

QQ号被注册?腾讯一夜注册数万个.cn域名

9月5日消息,腾讯与中国互联网络信息中心(CNNIC)于9月3日宣布达成战略合作,双方将共同为网友提供基于域名的广泛应用,绑定腾讯用户的个

微信域名防封防屏蔽系统的API接口实现原理

近常常听到搞微商,微信项目的在叫苦,由于微信域名屏蔽,哀鸿遍野。微信官方在对微信中推广活动的第三方网页内容管控越来越严格,如果活

从区块链域名史看整个域名行业的变迁

回顾区块链发展的历史,有很多角度,而域名算是其中一个比较奇特的角度。最近咨询我域名的人不少,今天,乘此机会,从域名的角度梳理下区块

Servlet转发和重定向response.sendRedirecte()区别

转发(forward):IE浏览器地址不会改变,始终是同一个请求。重定向(sendRedirect): IE浏览器地址会改变,用两个请求。1)转发 a)地址栏不

建网站,买域名和虚拟空间总共要多少钱?

作者:张朋飞链接:https://www.zhihu.com/question/30693589/answer/226290438来源:知乎著作权归作者所有。商业转载请联系作者获得授

分享到:

栏目导航

推荐阅读

热门阅读