关于正反向代理
https://www.cnblogs.com/ysocean/p/9392908.html#_label0
核心部分其实就做了本机域名的映射,通过监听gulimall.com的80端口(默认)代理到商品首页地址http://192.168.56.1:10200/
下面是详细分析及步骤
1.配置域名映射
在 C:\Windows\System32\drivers\etc下的hosts文件修改也可
我们这里通过一个软件switchHosts来修改映射,下载链接如下
https://blog.csdn.net/JavaCoder_juejue/article/details/112760697
本地方案新建,然后再输入对应映射 应用
原本访问虚拟机中的kibana
现在访问虚拟机中的kibana
设置nginx自启动并启动
Last login: Sun Jan 17 12:53:56 2021 from 192.168.56.1
[root@10 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
85e5c45a30da nginx:1.10 "nginx -g 'daemon of…" 4 weeks ago Exited (255) 3 weeks ago 0.0.0.0:80->80/tcp, 443/tcp nginx
6919debe7c73 elasticsearch:7.4.2 "/usr/local/bin/dock…" 4 weeks ago Up 4 hours 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearch
fda06f05a0a0 kibana:7.4.2 "/usr/local/bin/dumb…" 4 weeks ago Up 4 hours 0.0.0.0:5601->5601/tcp kibana
69e789223ef0 redis "docker-entrypoint.s…" 4 weeks ago Up 4 hours 0.0.0.0:6379->6379/tcp redis
7c3556ac5cf1 mysql:5.7 "docker-entrypoint.s…" 4 weeks ago Up 4 hours 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
[root@10 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6919debe7c73 elasticsearch:7.4.2 "/usr/local/bin/dock…" 4 weeks ago Up 4 hours 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearch
fda06f05a0a0 kibana:7.4.2 "/usr/local/bin/dumb…" 4 weeks ago Up 4 hours 0.0.0.0:5601->5601/tcp kibana
69e789223ef0 redis "docker-entrypoint.s…" 4 weeks ago Up 4 hours 0.0.0.0:6379->6379/tcp redis
7c3556ac5cf1 mysql:5.7 "docker-entrypoint.s…" 4 weeks ago Up 4 hours 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
[root@10 ~]# docker update nginx --restart=always
nginx
[root@10 ~]# docker start nginx
nginx
[root@10 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
85e5c45a30da nginx:1.10 "nginx -g 'daemon of…" 4 weeks ago Up 3 seconds 0.0.0.0:80->80/tcp, 443/tcp nginx
6919debe7c73 elasticsearch:7.4.2 "/usr/local/bin/dock…" 4 weeks ago Up 4 hours 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearch
fda06f05a0a0 kibana:7.4.2 "/usr/local/bin/dumb…" 4 weeks ago Up 4 hours 0.0.0.0:5601->5601/tcp kibana
69e789223ef0 redis "docker-entrypoint.s…" 4 weeks ago Up 4 hours 0.0.0.0:6379->6379/tcp redis
7c3556ac5cf1 mysql:5.7 "docker-entrypoint.s…" 4 weeks ago Up 4 hours 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
[root@10 ~]#
2.测试访问nginx
可以看到访问http://gulimall.com/ 实际访问到了nginx的首页
3.修改nginx配置来实现代理访问到商品首页
明确我们要修改的文件
[root@10 ~]# cd /
[root@10 /]# ls
bin boot dev -e etc home lib lib64 media mnt mydata opt proc root run sbin srv swapfile sys tmp usr -v vagrant var
[root@10 /]# cd mydata/nginx/c
-bash: cd: mydata/nginx/c: No such file or directory
[root@10 /]# cd mydata/nginx/conf/
[root@10 conf]# ls
conf.d fastcgi_params koi-utf koi-win mime.types modules nginx.conf scgi_params uwsgi_params win-utf
[root@10 conf]# cat nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
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;
}
[root@10 conf]# cd conf.d/
[root@10 conf.d]# ls
default.conf
查看中间网卡IP 或者 虚拟机IP
都访问成功
[root@10 conf.d]# cp default.conf gulimall.conf
[root@10 conf.d]# ls
default.conf gulimall.conf
[root@10 conf.d]# vi gulimall.conf
server {
listen 80;
server_name gulimall.com;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
proxy_pass http://192.168.56.1:10200;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
"gulimall.conf" 44L, 1071C written
[root@10 conf.d]# docker restart nginx
nginx
[root@10 conf.d]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
85e5c45a30da nginx:1.10 "nginx -g 'daemon of…" 4 weeks ago Up 22 seconds 0.0.0.0:80->80/tcp, 443/tcp nginx
6919debe7c73 elasticsearch:7.4.2 "/usr/local/bin/dock…" 4 weeks ago Up 5 hours 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearch
fda06f05a0a0 kibana:7.4.2 "/usr/local/bin/dumb…" 4 weeks ago Up 5 hours 0.0.0.0:5601->5601/tcp kibana
69e789223ef0 redis "docker-entrypoint.s…" 4 weeks ago Up 5 hours 0.0.0.0:6379->6379/tcp redis
7c3556ac5cf1 mysql:5.7 "docker-entrypoint.s…" 4 weeks ago Up 5 hours 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
[root@10 conf.d]#
访问测试
反向代理成功,这样会有点麻烦,不同服务难道都要在nginx中配置反向代理么,接下来准备反向代理到网关