• 二.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:WindowsSystem32driversetc这个目录下面找到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错误,无法正常加载? 
    答:正常情况下,肯定是你的路径不对,这时候需要去日志文件去查看真正的路径,然后对照修改: 
    这里写图片描述

     
  • 相关阅读:
    redis cluster 详解
    redis 数据占用内存大小分析
    java 中@RequestParam和@PathVariable
    git merge后,想恢复之前版本步骤
    Typescript中?? ?: ?. 都代表什么作用
    买卖股票的最佳时机系列问题
    最长递增子序列
    结构体统一说明
    Barcode Detection API All In One
    Learn Progressive Web Apps All In One
  • 原文地址:https://www.cnblogs.com/webenh/p/10151225.html
Copyright © 2020-2023  润新知