为什么我为这个nginx反向代理获得404?

时间:2017-09-28 06:26:32

标签: regex nginx proxy reverse-proxy

我想将nginx设置为反向代理,这是我当前的配置

location /oracle/(.+) {
    proxy_set_header Host $proxy_host;
    proxy_set_header Access-Controll-Allow-Origin *;

    proxy_pass  https://www.oracle.com/$1;
    proxy_hide_header 'x-frame-options';
    proxy_hide_header 'access-controll-allow-origin';

}

但是当我转到localhost/oracle/index.html时,我得到的是404.为什么会这样?

1 个答案:

答案 0 :(得分:0)

您应该使用regex ~作为location块的前缀Access-Controll-Allow-Origin

问题:

  

1。 Access-Control-Allow-Origin应更正为\/oracle\/(.+)并拼写正确。

     

2。 ~*正则表达式应该更正。

注意:

  

正则表达式使用前面case-insensitive ~case-sensitive location /oracle/(.+) {

指定

将其更改为:

location ~\/oracle\/(.+) {

<强>这样:

$(document).ready(function() { var canvasScaled = document.getElementById("containerScaled"); var ctxScaled = canvasScaled.getContext("2d"); var imageWidth = 500; var imageHeight = 500; img = new Image(); img.onload = function() { ctxScaled.drawImage(img, 0, 0, imageWidth, imageHeight); }; img.src = 'http://upload.wikimedia.org/wikipedia/commons/3/3f/Fronalpstock_big.jpg' });

您可以查看nginx location reference