2018年03月31日 10:30:12 麦洛_ 阅读数:1362更多

所属专栏: nginx
 
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Milogenius/article/details/79721507

大家好,网上关于使用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反向代理和静态资源服务配置的更多相关文章

  1. Nginx反向代理Tomcat静态资源无法加载以及请求链接错误

     在使用Nginx实现Tomcat的负载均衡的时候,项目发布到了Tomcat,Nginx也配置好了, 当访问的时候发现了与预期不符 表现为: 静态资源加载失败 链接跳转地址错误 下面是我错误的配置文件 ...

  2. Nginx 反向代理 负载均衡 虚拟主机配置

    Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...

  3. 【转】Nginx 反向代理 负载均衡 虚拟主机配置

    原文:http://www.cnblogs.com/itdragon/p/8059000.html Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代 ...

  4. nginx 反向代理 与 Apache backend的配置联合配置

    nginx 反向代理 与 Apache backend的配置联合配置: 说明: nginx 将http映射到Apache上的特定子目录. 配置方法步骤: 1.  设置域名, 子域名映射到指定服务器ip ...

  5. Nginx 反向代理工作原理简介与配置详解

    Nginx反向代理工作原理简介与配置详解   by:授客  QQ:1033553122   测试环境 CentOS 6.5-x86_64 nginx-1.10.0 下载地址:http://nginx. ...

  6. Charles学习(二)之使用Map local代理本地静态资源以及配置网页代理在Mac浏览器上调试移动端

    前言 我们在开发的过程肯定是一边写代码,一边查看自己的代码写的是否存在问题,那么问题来了,有两种情况 情况一:我们可以本地起服务,那么我们就可以在本地检查自己的代码,查看运行结果 情况二:本地无法起服 ...

  7. Charles学习(四)之使用Map local代理本地静态资源以及配置移动端代理在真机上调试iOS和Android客户端

    前言 问题一:我们在App内嵌H5开发的过程中,肯定会遇到一个问题就是我不想在chrome的控制台中调试也不想在模拟器中调试,我想要在真机上调试,那么如何解决这个问题呢? 问题二:我们期待调试时达到的 ...

  8. Charles学习(三)之使用Map local代理本地静态资源以及配置网页代理在Mac模拟器调试iOS客户端

    前言 问题一:我们在App内嵌H5开发的过程中,肯定会遇到一个问题就是我不想在chrome的控制台中调试,我想要在手机上调试,那么如何解决这个问题呢? 问题二:我们期待调试时达到的效果就是和Charl ...

  9. 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 ...

随机推荐

  1. Security+高分考过经验分享812分

    Security +也是无意中从谷安的宣传单知道的,本来就是想从事安全的行业,而且Security +含金量高,是国际认可的认证就想着去考一考试试. 大概从2018.12开始正式准备的,前面时间都是停 ...

  2. django上传图片简单验证以及自动修改图片名称

    django实现文件(图片)上传之后自动修改名称以及页面上传图片时的各种提醒: 1.先在你项目中添加一个文件夹如:system 在文件夹下添加__init__.py 和storage.py文件,并在s ...

  3. java8 日期时间解析与转换

    Instant now = Instant.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM ...

  4. 远程代理模式-Remote Proxy(Java实现)

    远程代理模式-Remote Proxy 服务端通过rmi将对象注册到远程服务, 客户端使用时, 只需要通过rmi协议获取即可, 只要接口统一, 即可不需要知道内部具体实现, 直接调用使用. Compa ...

  5. DirectX11--教程项目无法编译、运行的解决方法

    综述 对于Win10系统的大多数用户来说,可以直接编译本教程对应的项目并运行.但也有部分用户由于某些原因可能会出现无法编译的情况. DirectX11 With Windows SDK完整目录 欢迎加 ...

  6. [Deep Learning] 正则化

    在总结正则化(Regularization)之前,我们先谈一谈正则化是什么,为什么要正则化. 个人认为正则化这个字眼有点太过抽象和宽泛,其实正则化的本质很简单,就是对某一问题加以先验的限制或约束以达到 ...

  7. 【ShaderToy】抗锯齿相关函数

    *示例代码可以直接在ShaderToy中运行. *我放在这里咯ShaderToy基础学习中~欢迎交流(ノ>ω<)ノ 先上未抗锯齿的两个圆形图案,可以清楚看清图案边缘像素块,即“锯齿”. 附 ...

  8. Kafka(二)设计原理

    1.持久性 kafka使用文件存储消息,这就直接决定kafka在性能上严重依赖文件系统的本身特性.且无论任何OS下,对文件系统本身的优化几乎没有可能.因为kafka是对日志进行append操作,因此磁 ...

  9. Arduino常用的数据类型以及转换

    常用的数据类型有布尔类型.字符型.字节型.整型.无符号整型.长整型.无符号长整型.浮点型.双精度浮点型等 布尔类型bollean: 布尔值是一种逻辑值,其结果只能为真(true)或者假(false). ...

  10. Contest2163 - 2019-3-28 高一noip基础知识点 测试6 题解版

    传送门 @dsfz201814 改题 T1:全锕,过 T2:全锕,过 T3:@dsfz201814 先用竖着放置的木块将它变成高度差最大为1的数列 然后对于任意相邻相等的两块,可以将它看成任意 例如, ...