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

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

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

目录
相关文章
|
20天前
|
负载均衡 应用服务中间件 nginx
nginx配置负载均衡的服务宕机了,怎么配置高可用
nginx配置负载均衡的服务宕机了,怎么配置高可用
36 0
|
20天前
|
负载均衡 应用服务中间件 nginx
nginx这种负载均衡模式,你用过吗
nginx这种负载均衡模式,你用过吗
18 0
|
25天前
|
负载均衡 应用服务中间件 Linux
百度搜索:蓝易云【Centos7系统Nginx负载均衡如何安装和配置?】
在本文中,我们将介绍如何在CentOS 7系统中安装和配置Nginx负载均衡。本教程适用于初学者和经验丰富的用户。
43 0
|
28天前
|
负载均衡 Java 应用服务中间件
Spring Boot项目使用Nginx实现负载均衡,并包含Netty长连接,代码分享
@[TOC](目录) 要使用 Nginx 实现负载均衡,并将 Netty 长链接集成到 Spring Boot 项目中,需要按照以下步骤进行配置: # 1. 配置 Nginx 在 Nginx 配置文件中,指定反向代理服务器的配置,将请求转发到后端服务。可以使用以下示例配置: ``` upstream backend { server backend1.example.com:8080; server backend2.example.com:8080; server backend3.example.com:8080; } server { listen 80;
|
29天前
|
负载均衡 应用服务中间件 开发工具
nginx负载均衡优化和高可用
nginx负载均衡优化和高可用
38 0
|
29天前
|
负载均衡 应用服务中间件 Shell
共享nfs和nginx负载均衡
共享nfs和nginx负载均衡
|
29天前
|
负载均衡 关系型数据库 应用服务中间件
共享nfs和nginx负载均衡
共享nfs和nginx负载均衡
共享nfs和nginx负载均衡
|
1月前
|
存储 负载均衡 应用服务中间件
nginx与IIS服务器搭建集群实现负载均衡(三)
nginx与IIS服务器搭建集群实现负载均衡(三)
|
1月前
|
人工智能 负载均衡 应用服务中间件
nginx与IIS服务器搭建集群实现负载均衡(二)
nginx与IIS服务器搭建集群实现负载均衡(二)
|
1月前
|
人工智能 负载均衡 大数据
nginx与IIS服务器搭建集群实现负载均衡(一)
nginx与IIS服务器搭建集群实现负载均衡(一)
相关产品
云迁移中心
推荐文章
更多