正向与反向代理
**正向代理:**客户端向代理服务器发请求并指定目标服务器,代理向目标转交请求并将获得的内容转给客户端。
反向代理:用户直接访问反向代理服务器就可以获得目标服务器的资源。反向代理服务器统一了访问入口
。
给首页配置反向代理
-
修改windows的hosts文件配置域名和ip映射
windows解析域名的优先级为:
Hosts文件 → DNS缓存 → 配置的DNS服务器 → NetBIOS/WINS → LLMNR → mDNS
hosts文件位于C:\Windows\System32\drivers\etc目录下,修改其内容即可改变电脑的域名解析
这里需要SwitchHosts协助修改该文件
以管理员身份运行并添加新的本地方案
将guLimall.com这个域名映射到自己的虚拟机上面(可以通过访问gulimall.com:9200来验证是否配置成功)
不生效的可以检查C:\Windows\System32\drivers\etc\host文件的权限是否为只读,以及需要关闭梯子
-
配置虚拟机的nginx服务
nginx.conf配置文件内容介绍:
user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; #该路径下的配置文件会全部合并到这里 }
-
首先需要docker安装Nginx,并配置自启动。
# 下载nginx的docker镜像 docker pull nginx:latest # 默认拉取最新版,也可指定版本如 nginx:1.25 # 创建虚拟机本地目录结构 - 之后需要将docker里面的nginx的/etc/nginx/文件目录挂载到本地/mydata/nginx/ mkdir -p /mydata/nginx/{conf,html,logs} # 为了避免挂载空目录导致容器无法启动,需先复制默认配置到本地目录 # 启动临时Nginx容器 docker run --name nginx-temp -d nginx # 复制主配置文件和conf.d目录 docker cp nginx-temp:/etc/nginx/nginx.conf /mydata/nginx/conf/ docker cp nginx-temp:/etc/nginx/conf.d /mydata/nginx/conf/ # 删除临时容器 docker rm -f nginx-temp # 运行容器并挂载目录 docker run -d \ --name nginx \ -p 80:80 \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \ -v /mydata/nginx/logs:/var/log/nginx \ --restart unless-stopped \ nginx
-
在nginx容器挂载到虚拟机的/mydata/nginx/conf/conf.d目录下新增加一个配置文件gulimall.conf(这个配置文件会被合并到/mydata/nginx/conf/nginx.conf文件里面去),使得nginx服务能够将来自gulimall.com域名的流量转发到自己电脑IP(使用ipconfig命令查看)上面去
gulimall.conf文件如下:
server { listen 80; listen [:
-