美文网首页
nginx实现跨域

nginx实现跨域

作者: 小蜗牛的碎碎步 | 来源:发表于2021-01-26 15:54 被阅读0次
问题描述

在本地用create-react-app起一个服务(http://localhost:3000),请求服务器接口,报如下错误:

Xnip2021-01-26_10-20-23.jpg
产生原因

浏览器不允许跨域请求

解决方案

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       8080; // nginx监听的端口号
        server_name  localhost;

        location / { // 通用匹配,任何请求都会匹配到
         proxy_pass http:/ /localhost:3000; // 本地起的node服务
       }

        location /equip-run-manager {
          proxy_pass http:/ /192.168.100.250:9999; // 接口的请求地址
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    include servers/ *;
}
访问方式

从原来的http://localhost:3000 -> http://localhost:8080,匹配nginx的8080端口

location后面的斜杠

参见文档:https://www.jianshu.com/p/c751250a5112

nginx日志文件(排错)
nginx.conf文件 Xnip2021-01-26_11-10-01.jpg

日志文件的默认存放位置

/usr/local/var/log/nginx

参数说明

log_format  main  '$remote_addr $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '$http_user_agent $http_x_forwarded_for $request_time $upstream_response_time $upstream_addr $upstream_status';

access_log  /usr/local/var/log/nginx/access.log  main;

127.0.0.1 - [26/Jan/2021:11:48:12 +0800] "POST /equip-run-manager/Spring/MVC/entrance/unifier/QueryAlarmDictData HTTP/1.1" 200 135 "http://localhost:8080/alarm" Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36 - 0.543 0.543 192.168.100.250:9999 200

$remote_addr  客户端地址(127.0.0.1)
$remote_user  客户端用户名称 (-)
$time_local   访问时间和时区(26/Jan/2021:12:00:20 +0800)
$request 请求的URI和HTTP协议(POST /equip-run-manager/Spring/MVC/entrance/unifier/QueryAlarmDictData HTTP/1.1)
$status HTTP请求状态 (200)
$body_bytes_sent 发送给客户端文件内容大小(135)
$http_referer 浏览器访问的页面地址 (http:/ /localhost:8080/alarm)
$http_user_agent 用户终端浏览器等信息 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36)
$request_time 整个请求的总时间 (0.543)
$upstream_response_time 请求过程中,upstream响应时间 (0.543)
$upstream_addr 后台upstream的地址,即真正提供服务的主机地址 (192.168.100.250:9999)
$upstream_status upstream状态 (200)

相关文章

  • ajax跨域--nginx反向代理

    用nginx反向代理实现跨域,是最简单的跨域方式。只需要修改nginx的配置即可解决跨域问题,支持所有浏览器,支持...

  • 4种方法解决js跨域的实现方式

    一、JSONP 使用ajax实现跨域: 二、CORS跨域资源共享 三、Nginx反向代理 四、webpack (在...

  • Nginx实现跨域

    Nginx下载 概念1. 高性能web服务器2. 一般用作静态服务器, 负载均衡3. 反向代理(跨域)nginx....

  • nginx实现跨域

    问题描述 在本地用create-react-app起一个服务(http://localhost:3000[http...

  • nginx解决跨域

    使用nginx实现跨域 【转载】 原文: https://www.cnblogs.com/lovesong/p/1...

  • 浏览器跨域的那些事

    整理中 目标: 了解跨域 解决跨域 服务器配置跨域(java, nginx) 前端调试时配置解决跨域 一、什么是跨...

  • nginx反向代理

    前端调用接口的时候跨域了怎么办呢,如下代码跨域: 通过nginx反向代理下载nginx:http://nginx....

  • 被调用方解决

    被调用方解决 1、被调用方解决 – 支持跨域 (1)被调用方支持跨域解决方案 服务端实现 Nginx配置 Apac...

  • 关于设置env等环境变量的思考

    1、如何处理跨域后台处理跨域前端处理跨域浏览器处理跨域 前端本地处理跨域:代理线上跨域的处理方式:Nginx反向代...

  • Nginx跨域

    Nginx解决跨域问题(CORS) CORS(Cross-Origin Resource Sharing) 跨域资...

网友评论

      本文标题:nginx实现跨域

      本文链接:https://www.haomeiwen.com/subject/duxgzktx.html