Nginx解决跨域、大文件、负载均衡和域名管理的问题(亲测真实有效)

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
.cn 域名,1个 12个月
简介: NginxNginx在解决跨域、负载均衡和域名管理的问题上,有非常好的作用!值得应用。 在工作和学习中,前后端交互的时候,时常会需要做跨域的事情,这个时候,有两种方式,一种是服务端代码程序中去解决跨域,这是一种比较愚蠢的方式,推荐使用Nginx进行跨域的操作。

Nginx

Nginx在解决跨域、负载均衡和域名管理的问题上,有非常好的作用!值得应用。
在工作和学习中,前后端交互的时候,时常会需要做跨域的事情,这个时候,有两种方式,一种是服务端代码程序中去解决跨域,这是一种比较愚蠢的方式,推荐使用Nginx进行跨域的操作。


一、安装Nginx

这边安装Nginx有一个写的比较好的,我也是采用这个方式!
安装Nginx

二、重要的目录

root@ubuntu:/etc/nginx# ls
conf.d          koi-utf     nginx.conf    sites-available  uwsgi_params
fastcgi.conf    koi-win     proxy_params  sites-enabled    win-utf
fastcgi_params  mime.types  scgi_params   snippets
root@ubuntu:/etc/nginx# 

这边的nginx.conf 这个是配置文件,在每次修改后,需要重启才会生效。

三、nginx里面的sites-available和sites-enabled有什么区别

If you are coming from Apache, the "sites-available" and "sites-enabled" 
directories will be familiar.

  These directories are used to define configurations for your websites. 
Files are generally created in the "sites-available" directory, and then
symbolically linked to the "sites-enabled" directory when they are ready 
to go live.

...

In the "nginx.conf" file, we can see that the end of the "http" block has:

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

sites-available是存放当前的server配置, 在这里修改
sites-enabled是激活并使用的server配置(从sites_available的文件创建快捷方式到sites-enabled)

四、解决监听域名冲突(不生效)的问题。

默认情况下,对serve_name的配置应该实在sites-available目录下,Nginx默认加载的serve_name就是这里面的值。如果你不想要sites-available目录下的 defeat文件生效。那么直接将此文件改个名字,保持这边没有文件。那么这个时候,Nginx就会去加载nginx.conf文件了。
这里写图片描述

上面的 _ 符号表示默认的监听本机器的IP。

五、那么在nginx.conf中怎么配置合适呢?

只需要在Http{}中,按照如下配置即可

server

   {
    listen 80;
    server_name _;

    location ~ ^/front/ {
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
        add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,cookietoken,cookieuid';

        if ($request_method = 'OPTIONS') {
          return 200;
        }

        proxy_pass http://47.98.233.15:8099;
        proxy_redirect          off;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location ~ ^/back/ {
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
        add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,cookietoken,cookieuid,lang';

        if ($request_method = 'OPTIONS') {
          return 200;
        }

        proxy_pass http://47.98.233.15:8087;
        proxy_redirect          off;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

六、然后按照如下的访问即可

这里写图片描述

七、如果你上传的文件比较大

需要增加以下配置,30m根据你的需要写,100m等都可以。

server

   {
    listen 80;
    server_name _;
    client_max_body_size 20m;
    ......
    }

好啦,祝你学习和工作顺利!

目录
相关文章
|
2月前
|
负载均衡 算法 搜索推荐
Nginx 常用的负载均衡算法
【10月更文挑战第17天】在实际应用中,我们需要根据具体的情况来选择合适的负载均衡算法。同时,还可以结合其他的优化措施,如服务器健康检查、动态调整权重等,来进一步提高负载均衡的效果和系统的稳定性。
122 59
|
2月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
165 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
1月前
|
负载均衡 算法 应用服务中间件
Nginx 常用的负载均衡算法
【10月更文挑战第22天】不同的负载均衡算法各有特点和适用场景。在实际应用中,需要根据具体的业务需求、服务器性能和网络环境等因素来选择合适的算法。
38 3
|
2月前
|
Kubernetes 应用服务中间件 nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
|
2月前
|
负载均衡 监控 应用服务中间件
除了 Nginx,还有以下一些常见的负载均衡工具
【10月更文挑战第17天】这些负载均衡工具各有特点和优势,在不同的应用场景中发挥着重要作用。选择合适的负载均衡工具需要综合考虑性能、功能、稳定性、成本等因素。
|
2月前
|
负载均衡 应用服务中间件 nginx
Nginx的6大负载均衡策略及权重轮询手写配置
【10月更文挑战第9天】 Nginx是一款高性能的HTTP服务器和反向代理服务器,它在处理大量并发请求时表现出色。Nginx的负载均衡功能可以将请求分发到多个服务器,提高网站的吞吐量和可靠性。以下是Nginx支持的6大负载均衡策略:
168 7
|
2月前
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
172 7
|
2月前
|
负载均衡 算法 Java
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
尼恩,一位资深架构师,分享了关于负载均衡及其策略的深入解析,特别是基于权重的负载均衡策略。文章不仅介绍了Nginx的五大负载均衡策略,如轮询、加权轮询、IP哈希、最少连接数等,还提供了手写加权轮询算法的Java实现示例。通过这些内容,尼恩帮助读者系统化理解负载均衡技术,提升面试竞争力,实现技术上的“肌肉展示”。此外,他还提供了丰富的技术资料和面试指导,助力求职者在大厂面试中脱颖而出。
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
|
2月前
|
缓存 负载均衡 算法
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个通用的 TCP/UDP 代理服务器,以及一个邮件代理服务器和通用的 HTTP 缓存服务器。
78 0
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
|
2月前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名