文章链接:https://liuyueyi.github.io/hexblog/2018/06/02/180602-nginx多域名配置/
原来的域名过期了,重新买了一个hhui.top
,正好重新的配置一下,针对之前写过的几个不同的东西,通过不同的子域名来进行区分,因此简单记录一下nginx的多域名配置
因为资金有限,只有一台服务器,但是这个服务器上干的事情却不止一件,当前的状况是有下面几个
所以这台服务器上,从应用角度出发,有五个不同的功能的服务,主要区分为两类:
五个服务,会配置五个不同的子域名:
拿简单的 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,映射到不同的前端地址即可
个人博客虽然也是静态页面,但是不太一样的是博客的源码托管在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;
}
}
上面的配置,相比较前面的,主要就是拦截了下默认的首页,强制跳转到指定的目录下
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
主要记录一个简单的配置,关于nginx详细的配置相关,之前写过一个博文,加上友情链接
上面配置体验:
一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
原文:https://www.cnblogs.com/yihuihui/p/9127397.html