huashengdun / webssh

:seedling: Web based ssh client
https://webssh.huashengdun.org/
MIT License
4.57k stars 1.3k forks source link

还是跨域的问题... #102

Closed bavol2000 closed 4 years ago

bavol2000 commented 5 years ago

出现了跨域访问错误,Access to XMLHttpRequest at 'http://192.168.5.6:8888/' from origin 'http://192.168.5.6' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 参数已经设置了:--xsrf=False --address=192.168.5.6 --maxconn=100 --origin='*' --debug=True。 不知道是还有哪个地方没设置好??

bavol2000 commented 5 years ago

image 通过console又能登录上去??(已经把main.js里面的data._xsrf = _xsrf.value;注释掉了,不然会提示xsrf的值为空。参数--xsrf都已经设置成了False,可是不起作用)

huashengdun commented 5 years ago

如果使用Nginx了,Nginx配置贴出来看下?

bavol2000 commented 5 years ago

如果使用Nginx了,Nginx配置贴出来看下? webssh没有通过nginx进行代理,,,(不知道怎么设置),我的80端口上面运行的是一个django项目,在django项目的一个页面通过post方式去使用webssh,在console可以通过wssh.connect来进行连接登录,但是使用post方式就出现跨域的问题。 location / {
add_header 'Access-Control-Allow-Origin' '*' always; add_header 'Access-Control-Allow-Credentials' 'false'; add_header 'Access-Control-Allow-Methods' 'OPTION, POST, GET';
add_header 'Access-Control-Allow-Headers' 'X-Requested-With, Content-Type'; proxy_http_version 1.1; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_connect_timeout 75s; proxy_read_timeout 300s;
if (!-f $request_filename) { proxy_pass http://app_server_djangoapp;

        break;
    }
}
huashengdun commented 5 years ago

通过页面正常的表单提交这些参数,跨域行吗?

bavol2000 commented 5 years ago

通过页面正常的表单提交这些参数,跨域行吗?

通过页面正常的表单提交参数的话,如果设置了使用帐号和密码的话这种方式进行登录的话,可以。 但是我想使用privatekey来进行免密登录,如果使用privatekey的话,就不行,由于默认的privatekey的input是用file,我把它改成text,可是提交上去就出现跨域错误。。。。

bavol2000 commented 5 years ago

非常感谢你的回答,,,,,对于privatekey使用免密登录的话,privatekey这个input我把它设置成hidden居然可以了,,,,,,

huashengdun commented 4 years ago

问题解决了,那我就关闭了。