Linux----Nginx 反向代理服务器, 跨域

本文介绍如何使用Nginx进行反向代理配置,包括站点监听3000端口、静态文件CDN部署及跨域问题解决等。通过具体实例展示了如何为不同域名配置代理规则,并实现前端跨域请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx 反向代理

1. 站点监听3000 端口

server {
    listen 80;
    server_name a.xxxxx.com;

    location / {
        proxy_pass http://localhost:8080;
    }
}   

2. 静态文件cdn

server {
    listen 80;
    server_name cdn.xxxxx.com;

    location / {
        index index.html;
        root D:\sources\dist;
    }
} 

3. m.xxxxx.com来访问,所有数据接口由 xxxxx.com提供

server {
    listen 80;
    server_name m.xxxxx.com;

    location /api {
        # 代理api,以免跨域
        proxy_pass https://xxxxx.com;
    }
    location / {
        index index.html;
        root D:/angularjs/dist;
    }
} 

解决前端跨域问题

1. 设置CORS

server {
    listen 80;
    server_name cdn.xxxxx.com;

    location / {
        add_header Access-Control-Allow-Origin *;  
        add_header Access-Control-Allow-Credentials true;  
        add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
        index index.html;
        root D:/sources/dist;
    }
}

可以通过跨域反过来限制某些资源的是否可访问

if ($http_referer ~* 'xxxxx.com') {  
    add_header Access-Control-Allow-Origin *;  
    add_header Access-Control-Allow-Credentials true;  
    add_header Access-Control-Allow-Methods GET,POST,OPTIONS;  
}

2. 做api 中转

server {
    listen 80;
    server_name m.xxxxx.com;

    location /api {
        proxy_pass https://localhost:8080;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值