Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 当另一个站点重定向到my vue应用程序时,不允许使用Nginx 405_Docker_Vue.js_Nginx_Vue Router_Nginx Location - Fatal编程技术网

Docker 当另一个站点重定向到my vue应用程序时,不允许使用Nginx 405

Docker 当另一个站点重定向到my vue应用程序时,不允许使用Nginx 405,docker,vue.js,nginx,vue-router,nginx-location,Docker,Vue.js,Nginx,Vue Router,Nginx Location,我有一个网上商店,有信用卡支付与3Dsecure。 当3D secure使用url example.com/confirmPage/token导航回我的站点时,我从Nginx获得了一个不允许的405 如果我直接从我的浏览器访问页面,那么当我刷新完全相同的页面时,它加载的405错误也没有问题 这似乎与从3DSecure以编程方式重定向到我的站点有关 详情: 该站点托管在AWS ECS集群中,该集群重定向到https,因此Nginx不必这样做。 站点在带有Nginx的Docker容器中运行 我的网站

我有一个网上商店,有信用卡支付与3Dsecure。 当3D secure使用url example.com/confirmPage/token导航回我的站点时,我从Nginx获得了一个不允许的405

如果我直接从我的浏览器访问页面,那么当我刷新完全相同的页面时,它加载的405错误也没有问题

这似乎与从3DSecure以编程方式重定向到我的站点有关

详情: 该站点托管在AWS ECS集群中,该集群重定向到https,因此Nginx不必这样做。 站点在带有Nginx的Docker容器中运行

我的网站Nginx配置如下所示:

events {
}
http {
    include  /etc/nginx/mime.types;
    server {
        listen 443 ssl default_server;
        listen [::]:443 ssl default_server;
        server_name example.com *.example.com;
        access_log /var/log/example/access/example.access.log;
        error_log /var/log/example/error/example.error.log;
        ssl_certificate /etc/ssl/certs/example.com.crt;
        ssl_certificate_key /etc/ssl/private/example.com.pem;
        root /usr/share/nginx/html;
        index index.html;

        location / {
            try_files $uri $uri/ /index.html?/$request_uri;
        }
    }
}
这是使用docker文件复制的


任何帮助都将不胜感激。

我的队友设法找到了解决办法

location / {
   error_page 405 = 200 $uri;
   try_files $uri $uri/ /index.html?/$request_uri;
}

我的队友们设法找到了解决办法

location / {
   error_page 405 = 200 $uri;
   try_files $uri $uri/ /index.html?/$request_uri;
}

405表示不允许使用该方法,当您尝试使用请求方法(如POST)来处理仅由GETA处理的URL时,就会发生这种情况,典型的做法类似于try_files$uri$uri//index.html;。不知道里面发生了什么yours@Phil,谢谢你的评论。然而,它不是一个被阻止的API请求,正如我的问题所提到的,如果你只是刷新同一个页面,它就可以正常工作。我认为这是由于vue历史记录模式和nginx中的位置设置,在站点内部导航时效果很好,没有问题。但是当另一个页面ie:3D安全重定向回它点击405的站点时。然后,当我刷新该页面时,它就会工作。@Phil还可以使用try_文件$uri$uri//index.html;像这样-->try_files$uri$uri//index.html?/$request_uri;是包括在我的职位以上。这只解决了404关于刷新的问题,特别是从3D安全页面到我的站点的编程重定向的405。405表示不允许使用该方法,并且当您尝试使用请求方法(如POST)来处理仅由GETA处理的URL时,会发生这种情况,该URL的典型外观类似于try_files$uri$uri//index.html;。不知道里面发生了什么yours@Phil,谢谢你的评论。然而,它不是一个被阻止的API请求,正如我的问题所提到的,如果你只是刷新同一个页面,它就可以正常工作。我认为这是由于vue历史记录模式和nginx中的位置设置,在站点内部导航时效果很好,没有问题。但是当另一个页面ie:3D安全重定向回它点击405的站点时。然后,当我刷新该页面时,它就会工作。@Phil还可以使用try_文件$uri$uri//index.html;像这样-->try_files$uri$uri//index.html?/$request_uri;是包括在我的职位以上。这只解决了404上的刷新问题,特别是405从3D安全页面编程重定向到我的站点。