Nginx常见配置:多域名对应多端口配置 - 配置不同域名对应不同端口、配置301跳转使用根域名跳转对应二级域名、添加404网页、禁止ip直接访问
一、使用Nigix做映射 - 配置不同域名对应不同端口
我们都知道如果在域名管理的控制面板设置域名对应ip只能设置到ip,不能详细设置到端口。如果一台服务器部署了多个web应用,使用的不同端口启动的,那么就可以Nginx做映射。
比如我有一个域名 www.525.life;域名还可以分出2级域名: admin.525.life。我在域名控制面板把这两个域名都指向我的服务器公网ip:123.123.123.123。这时候发现www.525.life和admin.525.life域名访问都只是对应到了使用端口80的Web程序(默认的)。如果我们要访问81端口的应用程序只能使用:www.525.life:81或者admin.525.life:81。但是这样很不方便,我们要把端口去掉也能访问就需要使用Nginx做映射。
1、写在一个配置文件里的写法
我们期望www.525.life访问8880端口,admin.525.life访问8881端口。那么可以设置如下:
server{
listen 80;
server_name www.525.life;
location / {
#....
proxy_pass http://localhost:8880;
}
##### other directive
}
server{
listen 80;
server_name admin.525.life;
location / {
#....
proxy_pass http://localhost:8881;
}
##### other directive
}
这样设置就可以了,把8880和8881都映射到80端口的监听,这样就能使用www.525.life访问8880端口,admin.525.life访问8881端口。
2、每个域名一个 conf 的写法
我们在上面的例子中使用的是一个文件多个域名的写法,也就是只使用一个conf,在里面不断的增加server。这种方式很直观,但是域名多了不好管理。
Nginx支持引入的用法,也就是我们可以在其他地方先新建好conf文件,conf文件中记录server的信息如下:
admin.conf中的内容是:
server{
listen 80;
server_name admin.525.life;
location / {
#....
proxy_pass http://localhost:8881;
}
##### other directive
}
www.conf中的内容是:
server{
listen 80;
server_name www.525.life;
location / {
#....
proxy_pass http://localhost:8880;
}
##### other directive
}
admin.conf和www.conf都放在/data/nginx/conf/vhost目录下。
然后在nginx.conf中使用引入命令:include /data/nginx/conf/vhost/*.conf;即可。
需要注意的是这句命令应该放在:http{} 的花括号内。因为include的命令引入相当于被引入的所有代码写在nginx.conf中一样。
二、301跳转 —— 不带www也能访问网站
我们留意到生活中很多时候不带www也能访问到某个网站,这也能通过Nginx实现。跟上面的配置一样,再增加一个server如下:
server{
listen 80;
server_name 525.life;
location / {
#....
proxy_pass http://localhost:8880;
}
##### other directive
}
或者进行301跳转
server{
listen 80;
server_name 525.life;
rewrite ^/(.*) http://www.525.life/$1 permanent;
}
三、添加404网页
添加404网页,都可直接在里面添加,如:
server{
listen 80;
server_name www.web126.com; #绑定域名
error_page 404 /404.html;
}
四、禁止IP直接访问
最后还有一个方法需要注意,可能有需要禁止IP直接访问80端口或者禁止非本站的域名绑定我们的IP,这样的话应该如下处理,放到最前一个server上面即可:
server{
listen 80 default;
server_name _;
return 403;
}
相关文章
- 《JavaScript网页特效经典300例》
- 使用cpolar内网穿透发布树莓派网页:配置固定二级子域名 3/4
- Highmaps网页图表教程之图表配置项结构与商业授权
- NodeJS 获取网页源代码
- 网页图片提取助手(支持背景图、选择dom范围)
- 《用Python写网络爬虫》——2.2 三种网页抓取方法
- 《HTML、CSS、JavaScript 网页制作从入门到精通》——1.2 HTML文件的编写方法
- 《网页美工设计Photoshop+Flash+Dreamweaver从入门到精通》——2.5 创建文字
- 《网页设计心理学》一1.7 你无意识的思维比有意识的更聪明、快速
- 《网页设计心理学》一1.9 那么,是什么让我们点击?
- 《移动网页设计与开发 HTML5+CSS3+JavaScript》—— 1.5 CSS3及其他
- 求职招聘找工作职位展示响应式网页模板
- 浏览器工作原理: 渐进式网页应用PWA解决了 Web 应用的哪些问题
- 手把手教你快应用接入微信H5网页支付
- 自动刷新网页效果
- jsp网页在浏览器中不显示图片_eclipse环境下配置tomcat中jsp项目的虚拟路径
- 零基础Unity做一个中秋诗词鉴赏网页,提前祝您中秋快乐!(DoTween动画 | WebGL视频 | 大文件上传GitHub)
- 应用市场快速下载以及网页端调起APP页面研究与实现
- Opera推出未来版浏览器:自动排序书签 网页标签可分屏