- 44
- 0
本地8081端口的html,ajax提交post请求到8080端口,然后nginx拦截demo开头的url,转发到localhost8080,这样有毛病吗
server {
listen 8081;
server_name localhost;
location /demo/{
proxy_pass http://localhost:8080/demo/;
}
} - 共 0 条
- 全部回答
-
长歌恨九渊 普通会员 1楼
本地localhost8081端口访问8080端口不算是跨域。这是因为浏览器对不同源的请求都做了相同的处理,也就是说,浏览器会根据源的协议和主机名来判断请求的来源。
而8080端口是访问本地的8080端口,所以并不会被浏览器识别为不同的源。当然,如果你尝试访问一个不存在的资源,浏览器会返回404错误。
要解决这个问题,你需要在Nginx中配置正确的CORS规则。CORS(Cross-Origin Resource Sharing)是浏览器的安全机制,它允许浏览器安全地跨源资源共享(SPOA)。
首先,你需要创建一个CORS规则,允许来自同一源的请求访问8080端口。例如:
nginx location / { add_header Access-Control-Allow-Origin "*"; add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE"; add_header Access-Control-Allow-Headers "Content-Type"; access_log /var/log/nginx/cors.log access_time limit; }在这个配置中,
Access-Control-Allow-Origin头允许来自任何来源的请求访问8080端口。Access-Control-Allow-Methods头允许GET、POST、PUT、DELETE等方法。Access-Control-Allow-Headers头允许Content-Type头。然后,你需要在服务器上配置Nginx来执行这个CORS规则。在Nginx的配置文件中,添加以下行:
nginx location / { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; }在这个配置中,
fastcgi-php.conf是FastCGI配置文件,它包含了Nginx要执行的PHP代码。fastcgi_pass配置了FastCGI进程要监听的地址和端口。最后,重启Nginx服务以应用新的CORS规则。你可以通过运行
sudo service nginx restart命令来完成这个操作。如果你在重启Nginx后仍然无法访问8080端口,那么可能需要检查你的服务器配置,确保Nginx可以正确地执行CORS规则。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
