反向代理配置成功
首先,Nginx 和 Java 后端都运行在云服务器的 docker 容器中。ps: 需要确保云服务器端口正常开放,以及两个容器都能被正常的访问。
现在想让 ng 做反向代理达到如下目的:通过前端 url 地址的映射,来访问后端的接口。
反向代理流程:前端 url 地址 =》ng服务器 =》 后端服务器。
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;
server {
listen 82; # 监听的端口
server_name localhost; # 域名或ip
location / { # 访问路径配置
root /usr/share/nginx/html/regist/;# 根目录
index index.html; # 默认首页
}
# 配置如上,通过 localhost:82 的方式就可以访问到 index.html
# 如下是配置反向代理,浏览器通过访问 http://云服务器ip:82/reg/
# 就可以访问到后端http://云服务器ip:8800/
location /reg/ {
proxy_pass http://云服务器ip:8800/;
}
error_page 500 502 503 504 /50x.html; # 错误页面
location = /50x.html {
root html;
}
}
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; 111
include /etc/nginx/conf.d/*.conf;
}
注意
反向代理的配置规则:
反向代理的映射:
http://ip:82/reg/ 对应到 http://云服务器ip:8800/
反向代理的配置规则:
其中的每个斜杆必不可少,否则会匹配不到。