二.Nginx反向代理和静态资源服务配置
大家好,网上关于使用nginx的反向代理和静态资源服务配置有很多资料,本篇主要分享在开发环境中,我如何利用nginx来实现对开发项目的反向代理和静态资源的托管;
一.神马是反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
如果想了解更多资料,可百度一下;
二.nginx配置案例
如上图,是我最近参与开发的项目,那么如何使用nginx实现反向代理和静态资源托管?
当我们没有配置nginx时,访问时如下图:
1.设置简单的代理服务器
nginx的一个常用用途是将其设置为代理服务器,这意味着服务器接收请求,将它们传递给代理服务器,代理服务器去对应的服务器中检索响应并将它们发送给客户端。
我们将配置一个基本的代理服务器,该服务器代理域名wap.gs.10086.cn的请求,并将所有其他请求发送给代理服务器。
首先,通过向server nginx的配置文件添加一个更多的块并使用以下内容定义代理服务器:
server {
#侦听端口
listen 80;
server_name wap.gs.10086.cn; #访问域名
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location /gscc_card_selling{
#本地开发机地址(127是我随意写的,要修改为自己电脑ip)
proxy_pass http://127.0.0.1:8081;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
配置完成以后,我们需要重载配置文件信息
(注意:我们要退回到nginx安装的根目录,不要修改完配置文件直接敲命令,会提示命令无效)
接下来,我们要配置自己电脑的host
进入C盘的C:\Windows\System32\drivers\etc这个目录下面找到host这个文件
增加配置:
127.0.0.1 wap.gs.10086.cn
- 1
- 2
最后,我们来重新访问一下:
2.静态资源托管配置
细心同学可能发现,我上面访问时候,静态资源已经正常加载(图片.css,js).是因为我之前配置了已经有了缓存.
正常情况下,我们访问会报404错误
我们需要将静态资源访问代理到硬盘固定路径
location /gsccstatic{
root E:/WorkSpace/IDEA/gscc_card_selling/webapp/resource;
}
- 1
- 2
- 3
重新刷新,就可以正常加载到了
最后,关于用nginx代理自己开发项目的完整配置文件
server {
listen 80;
server_name wap.gs.10086.cn;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location /gscc_card_selling{
proxy_pass http://127.0.0.1:8081;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
location /gsccstatic{
root E:/WorkSpace/IDEA/gscc_card_selling/webapp/resource;
}
}
问题探究:
1.正常配置了路径,可是发现还是报404错误,无法正常加载?
答:正常情况下,肯定是你的路径不对,这时候需要去日志文件去查看真正的路径,然后对照修改:
二.Nginx反向代理和静态资源服务配置的更多相关文章
- Nginx反向代理Tomcat静态资源无法加载以及请求链接错误
在使用Nginx实现Tomcat的负载均衡的时候,项目发布到了Tomcat,Nginx也配置好了, 当访问的时候发现了与预期不符 表现为: 静态资源加载失败 链接跳转地址错误 下面是我错误的配置文件 ...
- Nginx 反向代理 负载均衡 虚拟主机配置
Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...
- 【转】Nginx 反向代理 负载均衡 虚拟主机配置
原文:http://www.cnblogs.com/itdragon/p/8059000.html Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代 ...
- nginx 反向代理 与 Apache backend的配置联合配置
nginx 反向代理 与 Apache backend的配置联合配置: 说明: nginx 将http映射到Apache上的特定子目录. 配置方法步骤: 1. 设置域名, 子域名映射到指定服务器ip ...
- Nginx 反向代理工作原理简介与配置详解
Nginx反向代理工作原理简介与配置详解 by:授客 QQ:1033553122 测试环境 CentOS 6.5-x86_64 nginx-1.10.0 下载地址:http://nginx. ...
- Charles学习(二)之使用Map local代理本地静态资源以及配置网页代理在Mac浏览器上调试移动端
前言 我们在开发的过程肯定是一边写代码,一边查看自己的代码写的是否存在问题,那么问题来了,有两种情况 情况一:我们可以本地起服务,那么我们就可以在本地检查自己的代码,查看运行结果 情况二:本地无法起服 ...
- Charles学习(四)之使用Map local代理本地静态资源以及配置移动端代理在真机上调试iOS和Android客户端
前言 问题一:我们在App内嵌H5开发的过程中,肯定会遇到一个问题就是我不想在chrome的控制台中调试也不想在模拟器中调试,我想要在真机上调试,那么如何解决这个问题呢? 问题二:我们期待调试时达到的 ...
- Charles学习(三)之使用Map local代理本地静态资源以及配置网页代理在Mac模拟器调试iOS客户端
前言 问题一:我们在App内嵌H5开发的过程中,肯定会遇到一个问题就是我不想在chrome的控制台中调试,我想要在手机上调试,那么如何解决这个问题呢? 问题二:我们期待调试时达到的效果就是和Charl ...
- nginx简单实现反向代理和静态资源服务器
1修改hosts文件 127.0.0.1 www.test1.com 127.0.0.1 www.test2.com 127.0.0.1 static.com 2配置tomcat的server.xml ...
随机推荐
- C#编程中的Image/Bitmap与base64的转换及 Base-64 字符数组或字符串的长度无效问题 解决
最近用base64编码传图片遇到了点问题,总结下. 首先总结下base64编码的逻辑,来自网络:https://www.cnblogs.com/zhangchengye/p/5432276.html ...
- [Android] Android 手机下 仿 今日头条 新闻客户端
利用一个月的时间,自学了 Android 开发 ,为了检验学习成果,特意 开发了这个 仿 今日头条 新闻客户端 AppNews 包括图文新闻+视频新闻+图片新闻 预览演示如下: 功能说明: 1)底部 ...
- css/css3 未知元素宽高,垂直居中和水平居中
未知元素的宽高情况下 垂直居中和水平居中 第一种 flex盒布局 (推荐) /*弹性盒模型*/ /*主轴居中对齐*/ /*侧轴居中对齐*/ .ele{ display:flex; justify-c ...
- 在Synology群晖上运行Frp客户端
一.Synology群晖上开启SSH 二.使用Putty连接 1,登陆管理员账户和密码 2,连接成功后输入sudo su - 输入管理员的密码切换到root权限 下载:wget https://git ...
- P1074 靶形数独题解
题目描述 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向 Z 博士请教,Z 博士拿出了他最近发明的“靶 ...
- docker安装elasticsearch
docker search elasticsearch 选择一个版本,拉取镜像 docker pull elasticsearch: 查看镜像 docker images 通过镜像,启动一个容器,并将 ...
- mysql—增删改查语句总结
关于MySQL数据库——增删改查语句集锦 一.基本的sql语句 CRUD操作: create 创建(添加) read 读取 update 修改 delete 删除 .添加数据 ,'n001','201 ...
- 转载-IDEA项目左边栏只能看到文件看不到项目结构
原文-https://blog.csdn.net/weixin_42362985/article/details/80538064 有时IDEA Maven项目打开左侧Project窗口本应该显示项目 ...
- elasticsearch 踩坑
1.elasticsearch head安装 集群连不上,修改配置 add http.cors.enabled: true you must also set http.cors.allow-orig ...
- python&JSONP(Jquery篇)
采用Jquery发送跨域请求: <!DOCTYPE html> <html lang="en"> <head> <meta charset ...