项目部署问题:xftp无法连接服务器、Nginx403 Forbidden解决、nginx反向代理解决前端跨域问题
2018-05-05 18:54
1671 查看
一、xftp无法连接服务器
在xftp中配置正确的ip,用户名和密码后,居然无法连接
解决方案:将协议里面的FTP换成SFTP,注意换成SFTP后端口就默认换成22,要还是原来的21就还是连不上的哈
二、Nginx 出现 403 Forbidden 最终解决
在用nginx配置的时候,出现403禁止访问错误
解决方案:打开nginx.conf,例如:vim /etc/nginx/nginx.conf,把 user 用户名 改为 user root 或 其它有高权限的用户名称即可
原来一般默认是:
,改成:user root; 即可
三、nginx反向代理解决前端跨域问题
跨域是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。注意:跨域限制访问,其实是浏览器的限制。理解这一点很重要!!!
假设有两个网站,A网站部署在:http://localhost:81,即本地ip端口81上;B网站部署在:http://localhost:82,即本地ip端口82上。现在A网站的页面想去访问B网站的信息,A网站页面的代码如下(这里使用jquery的异步请求)
这时浏览器会提示403如下错误信息:
nginx反向代理解决跨域问题,nginx配置:(这就是我服务器上的配置)
访问地址修改,既然配置了nginx,那么所有的访问都要走nginx,而不是走网站原本的地址(A网站localhost:81,B网站localhost:82)。所以要修改A网站中的ajax访问地址,把访问地址由 http://localhost:82/api/values 改成 /apis/api/values 。如下代码:
这一步很重要哦,我就是因为url地址没改,导致一直失败
还有需要注意的是服务器安装nginx之后一些文件的默认存放路径
网站文件存放默认目录:/usr/share/nginx/html (html里面就是放的welcome nginx的页面)
网站默认站点配置:/etc/nginx/conf.d/default.conf (这个就是配置文件,要改的内容基本在这个文件)
自定义Nginx站点配置文件存放目录:/etc/nginx/conf.d/
Nginx全局配置:/etc/nginx/nginx.conf
所以需要注意的是修改配置文件是修改conf.d里面的default.conf
在xftp中配置正确的ip,用户名和密码后,居然无法连接
解决方案:将协议里面的FTP换成SFTP,注意换成SFTP后端口就默认换成22,要还是原来的21就还是连不上的哈
二、Nginx 出现 403 Forbidden 最终解决
在用nginx配置的时候,出现403禁止访问错误
解决方案:打开nginx.conf,例如:vim /etc/nginx/nginx.conf,把 user 用户名 改为 user root 或 其它有高权限的用户名称即可
原来一般默认是:
,改成:user root; 即可
三、nginx反向代理解决前端跨域问题
跨域是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。注意:跨域限制访问,其实是浏览器的限制。理解这一点很重要!!!
假设有两个网站,A网站部署在:http://localhost:81,即本地ip端口81上;B网站部署在:http://localhost:82,即本地ip端口82上。现在A网站的页面想去访问B网站的信息,A网站页面的代码如下(这里使用jquery的异步请求)
$(function () { $.get("http://localhost:82/api/values", {}, function (result) { $("#show").html(result); }) })
这时浏览器会提示403如下错误信息:
nginx反向代理解决跨域问题,nginx配置:(这就是我服务器上的配置)
location / { root /usr/local/apache-tomcat-8.5.30/webapps/emcs; index index.html index.htm; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; } location ^~/api/ { proxy_pass http://39.105.101.44:80/; }
访问地址修改,既然配置了nginx,那么所有的访问都要走nginx,而不是走网站原本的地址(A网站localhost:81,B网站localhost:82)。所以要修改A网站中的ajax访问地址,把访问地址由 http://localhost:82/api/values 改成 /apis/api/values 。如下代码:
$(function () { $.get("/apis/api/values", {}, function (result) { $("#show").html(result); }) })
这一步很重要哦,我就是因为url地址没改,导致一直失败
还有需要注意的是服务器安装nginx之后一些文件的默认存放路径
网站文件存放默认目录:/usr/share/nginx/html (html里面就是放的welcome nginx的页面)
网站默认站点配置:/etc/nginx/conf.d/default.conf (这个就是配置文件,要改的内容基本在这个文件)
自定义Nginx站点配置文件存放目录:/etc/nginx/conf.d/
Nginx全局配置:/etc/nginx/nginx.conf
所以需要注意的是修改配置文件是修改conf.d里面的default.conf
相关文章推荐
- 解决lamp创建后xftp连接服务器无法创建文件的问题
- 解决 web服务器部署常见问题,server application unavailable 和 程序无法连接数据库 的问题(asp.net 2.0 + oracle9i + winXP)
- 解决 web服务器部署常见问题,server application unavailable 和 程序无法连接数据库 的问题(asp.net 2.0 + oracle9i + winXP)
- 解决 jeesite 项目部署到linux 服务器上 ckfinder 无法上传图片的问题
- 解决VS无法连接到已配置的开发web服务器或者部署在IIS上的web服务打不开的问题
- WCF项目中客户端与服务器时间问题步无法连接的解决方案 (供自己以后参考)
- 解决SQL Server 2005 Express中无法连接到服务器问题
- 【MSSQL】解决MSSQLSERVER连接服务器时候,输入IP无法连接的问题
- dhl:ajax无法跨域改用getJSON(解决服务器返回json数据中文为乱码的问题$.ajaxSetup({ scriptCharset: "utf-8" , contentType: "application/json; chars)
- WCF项目中客户端与服务器时间问题步无法连接的解决方案 转
- win7问题解决,凭据管理器和无法访问,不允许一个用户使用一个以上用户名与服务器或共享资源进行多重连接。
- 解决超过远程连接数而无法连接服务器的问题 踢出已断开用户
- 解决在IIS7.0上部署ASP.NET1.1站点时【“/”应用程序中的服务器错误。无法识别的配置节“system.webServer”】的问题
- lftp无法连接FileZilla服务器问题解决
- 解决SQL Server 2005 Express中无法连接到服务器问题
- 解决google地球 google地球无法连接验证服务器或者提示需要安装google插件 的问题
- 项目中碰见的错误(三)SQL Server 2005无法连接到服务器的解决方法
- 解决无法连接到远程SqlServer 2005 Express服务器的问题
- PDA访问web service时,“无法连接到远程服务器”问题的解决方法
- Asmack客户端无法连接Openfire服务器问题的解决