成都创新互联网站制作重庆分公司

nginx域名代理转发能解决什么问题?nginx详细配置教程

对于nginx 域名,有些朋友还是比较熟悉的,但是对于nginx 域名 代理转发的情况还不太了解,那么nginx 域名 代理转发能解决什么问题?nginx详细配置教程是怎样的呢?下面成都网站建设就给大家具体介绍下。

nginx 域名 代理转发能够解决什么问题?
nginx 域名 代理转发能够解决跨域问题。具体为:
有两个服务(或多个服务),各服务通过Redis做Session共享以实现单点登录。其中登录走的是API服务,前端通过Cookie来维持登录状态。在API服务登录之后,在所有服务中这个用户(Token)都是登录是登录状态的。
因为登录走的是API服务,那么Cookie的作用域是api.guitu18.com,这时候访问WEB项目,WEB后台虽然知道这个用户(token)是登录的,但因为请求是从web.guitu18.com域发起的,WEB服务是无法获取api.guitu18.com域下的Cookie的。
提升Cookie作用域
那么现在需要解决跨域问题,因为是同一顶级域下的服务,我们之前的做法是将Cookie作用域提升到顶级域下,这时候二级域是能够获取到顶级域下的Cookie的(Cookie作用域是向下兼容),那WEB服务也就能够拿到这个用户的Token识别登录状态了。

服务端代理
现在升级为Nginx代理来解决跨域问题,方式是通过对接口路径前缀进行匹配来实现。约定API服务中所有的接口路径以api开头,WEB服务在请求API服务时不用指向API域名,而是指向自身域名https://web.guitu18.com,然后在Nginx中对WEB域下以api开头的路径进行代理,转发到API服务。
nginx怎么反向代理域名
先说正向代理吧:正向代理就是通过VPN或其他转发客户端请求,比如你开游戏加速器这样,请求是通过别人机器发送给服务器的,服务主体是客户端
反向代理就相反,是代理服务器的。是针对服务器收到和响应的信息进行转发。好处是代理服务器和服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP。常用的一般是Nginx代理,免费并且性能稳定。
配置监听IP
listen address[:port] [default_server] [setfib=number] [backlog=number] [rcvbuf=size] [sndbuf=size] [deferred] [accept_filter=filter] [bind] [ssl];
配置监听端口PORT
listen port[default_server] [setfib=number] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [ipv6only=on|off] [ssl];
配置 UNIX Domain Socket
listen unix:path [default_server] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [ssl];

下面给个实例:
比如想通过nginx代理一下tomcat服务,使用nginx配置的虚拟主机地址来访问,修改配置文件nginx.conf
server { listen 8089; server_name 1.1.1.1:7777;
location / { # tomcat首页;
proxy_pass http://localhost:8080; # tomcat路由)
} };
保存退出后重启Nginx,还有更多参数请参考手册。
nginx详细配置教程
访问Nginx,确保Nginx已经成功安装。
通过端口区分不同的主机:nginx配置文件nginx.conf,位置:/usr/local/nginx/conf/。通过配置多个server,实现多个虚拟机的配置。
复制原来的html目录将其更名为html-81,以进行测试。
为便于区分,对index.html文件进行修改。修改完成后刷新。
再分别访问两台服务器
多个域名区分主机:修改配置文件。
Ngix的正向代理功能
Ngix的反向代理功能。

通过以上的内容,我们已经了解了nginx 域名 代理转发能够解决的问题了,大家在做nginx 域名 代理转发的时候,就可以按照上面的方法去做,如有疑问,可以咨询创新互联。

本文标题:nginx域名代理转发能解决什么问题?nginx详细配置教程
文章出自:http://cxhlcq.com/article/sdsoph.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部