Nginx proxy_pass 本地调试跨域接口

前言

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器.

Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了.

Igor 将源代码以类BSD许可证的形式发布.尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了.

 

下载地址 官网地址

测试通过版本nginx-1.11.10 可以去我的云盘下载及安装  地址链接 密码: d366

 

跨域问题描述

通过本地访问远程服务器接口会提示如下:

原因:出现跨域,浏览器本地访问地址:https://qyh.xxx.com/other/html/index.html,里边JS 去调用服务器请求地址

https://qyhtest.xxx.com/mis/wx/union/bank/products 违背同源策略就会提示上图所示。

只允许同源策略具体查看了解下

转:http://www.cnblogs.com/chaoyuehedy/p/5556557.html

 

 

 

解决跨域设置

 ps:nginx配合去解决;
1、打开本地Host文件, C:\Windows\System32\drivers\etc\ hosts文件

配置本地域名:

127.0.0.1       qyh.xxx.com   //目的是浏览器访问使用域名 ,如果不懂就安装配置就可以

2、打开安装nginx配置文件 进行配置

server {
listen 80 default backlog=2048;
listen 443 ssl;
server_name qyh.citic.com; #这里的域名要跟HOST配置一致
#ssl on;
ssl_certificate d:/nginx-1.11.10/conf/server.crt;        #HTTPS需要证书路径
ssl_certificate_key d:/nginx-1.11.10/conf/server.key; #HTTPS需要证书路径
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:100m;
ssl_session_timeout 100m;
location /{
root D:/xampp/htdocs;           #默认请求路径
}

autoindex on;
index index.html index.htm index.shtml;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
location /apis {
rewrite ^.+apis/?(.*)$ /$1 break;
include uwsgi_params;
proxy_pass https://qyhtest.citic.com/;             #代理地址 --服务器接口域名
}

}

    如果看起来有点乱,可以下载配置    文件链接 密码: 6u6m

 

 

注意: server_name 要与HOST域名一致。

         proxy_pass 是代理接口域名

         listen监听443 及80端口

 

3、在上一部配置文件中可以看到   location/ apis {

  ...

}  在最后,跟JS里边有一定关联,做代理转向

 

服务器接口地址

    https://qyhtest.xxx.com/mis/wx/union/bank/products?pageNo=1&pageSize=5

 

 

 

4、nginx配置文件修改过需要重新启动,后在浏览器访问https://qyh.citic.com/other/html/index.html

 

 

 

会看到请求状态,200

Logo

前往低代码交流专区

更多推荐