nginx反向代理避免本地主机出现cors错误
我正在使用gulp服务器进行本地前端开发,我连接的应用程序正在另一台服务器上运行,包括前端和后端 gulp服务器正在本地主机1340上运行。api位于 我收到以下错误:请求的资源上不存在“Access Control Allow Origin”头 因此,我尝试使用nginx设置一个反向代理服务器,以便在localhost:8001上启动一个nginx服务器,它充当gulp服务器和api之间的连接 以下是nginx.conf中的设置nginx反向代理避免本地主机出现cors错误,nginx,cors,Nginx,Cors,我正在使用gulp服务器进行本地前端开发,我连接的应用程序正在另一台服务器上运行,包括前端和后端 gulp服务器正在本地主机1340上运行。api位于 我收到以下错误:请求的资源上不存在“Access Control Allow Origin”头 因此,我尝试使用nginx设置一个反向代理服务器,以便在localhost:8001上启动一个nginx服务器,它充当gulp服务器和api之间的连接 以下是nginx.conf中的设置 server { # simple reverse-proxy
server { # simple reverse-proxy
listen 8001;
server_name localhost;
# access_log logs/domain2.access.log main;
location / {
proxy_pass http://localhost:1340;
proxy_set_header Host $http_host;
add_header Access-Control-Allow-Origin *;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
}
location /api/ {
proxy_pass https://aaa.bbb.com/api/;
add_header Access-Control-Allow-Origin *;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
}
但是当我指向localhost:8001时,我仍然得到cors错误,它只是传递gulp服务器内容。
当我指向localhost:8001/api/时,它传递外部服务器的内容,前端部署在那里
我需要的行为是我的本地ui指向外部服务器,这样我就可以看到我在ui中进行的本地更改。
在禁用安全性的情况下使用chrome是可行的,但这意味着我无法检查其他浏览器中我所做的更改
任何帮助/想法都将不胜感激。我遇到了完全相同的问题,偶然发现这个问题没有答案,所以我想为什么不试试呢。它直接对我起作用。没有头设置或任何东西-只有添加到默认nginx配置中的代理。这就是我所做的:
server {
listen 8001;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:1340;
}
location /api {
proxy_pass https://aaa.bbb.com/api;
}
}
我怀疑是您设置的一个或两个标题导致了问题。您只需要一个正向反向代理,这样浏览器就不会怀疑它背后有多个域 我遇到了完全相同的问题,无意中发现了这个没有答案的问题,所以我想为什么不试试呢。它直接对我起作用。没有头设置或任何东西-只有添加到默认nginx配置中的代理。这就是我所做的:
server {
listen 8001;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:1340;
}
location /api {
proxy_pass https://aaa.bbb.com/api;
}
}
我怀疑是您设置的一个或两个标题导致了问题。您只需要一个正向反向代理,这样浏览器就不会怀疑它背后有多个域