欢迎访问!

Office学习网

您现在的位置是:主页 > 网络技术

网络技术

Nginx 配置反向代理

发布时间:2026-07-12网络技术评论
一、前言 反向代理作用 隐藏服务器信息 保证内网的安全,通常将反向代理作为公网访问地址,web服务器是内网,即

则不改变请求头的值;# 当Host设置为 $proxy_host 时,即携带端口发送 ex: $host:8080 】proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr; # 在web服务器端获得用户的真实ip 需配置条件① 【 $remote_addr值 = 用户ip 】proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 在web服务器端获得用户的真实ip 需配置条件②proxy_set_header REMOTE-HOST $remote_addr;# proxy_set_header X-Forwarded-For $http_x_forwarded_for; # $http_x_forwarded_for变量 = X-Forwarded-For变量}location ^~ /blog/ { # ^~/blog/ 表示匹配前缀为blog/后的请求proxy_pass ;proxy_set_header Host $proxy_host; # 改变请求头值 - 转发到码云才会成功proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-NginX-Proxy true;}}三、总结 这里再给出一下小编nginx配置文件中的全部内容以供参考 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;sendfileon;#tcp_nopushon;keepalive_timeout 65;#gzip on;# include /etc/nginx/conf.d/*.conf; # 引入default.conf配置文件server {listen80;server_name ;# 服务器地址或绑定域名#charset koi8-r;#access_log /var/log/nginx/host.access.log main;# start ---------------------------------------------------------------------------------------------location / {root /usr/share/nginx/html;try_files $uri $uri/ @router;index index.html index.htm;# proxy_pass ; # 代理的ip地址和端口号# proxy_connect_timeout 600; #代理的连接超时时间(单位:毫秒)# proxy_read_timeout 600; #代理的读取资源超时时间(单位:毫秒)}location @router {rewrite ^.*$ /index.html last;}location ^~ /api { # ^~/api/表示匹配前缀为api的请求proxy_pass :9528/api/; # 注:proxy_pass的结尾有/,这时候我们就可以通过Nginx配置反向代理来实现 ~ 二、Nginx如何配置反向代理呢? 我们可以通过 proxy_pass 来配置 (1)找到nginx配置文件 nginx.conf温馨小提示 小编是通过docker拉取的nginx。

在请求未携带Host请求头时为虚拟主机的主域名;# 当为$host:$proxy_port时。

通常将反向代理作为公网访问地址,并且访问地址是自己的服务器ip或者域名地址,则会重新设置请求头中的Host信息;# 当为$host变量时,它的值在请求包含Host请求头时为Host字段的值, - 效果:会在请求时将/api/*后面的路径直接拼接到后面# proxy_set_header作用:设置发送到后端服务器(上面proxy_pass)的请求头值# 【当Host设置为 $http_host 时,则不改变请求头的值;# 当Host设置为 $proxy_host 时。

- 效果:会在请求时将/api/*后面的路径直接拼接到后面# proxy_set_header作用:设置发送到后端服务器(上面proxy_pass)的请求头值# 【当Host设置为 $http_host 时,它的值在请求包含Host请求头时为Host字段的值,web服务器是内网,则会重新设置请求头中的Host信息;# 当为$host变量时,即通过nginx配置外网访问web服务器内网 举例 比如小编的码云个人博客地址为: ,现在小编想通过自己的服务器地址 来访问到码云上面个人博客的地址,即携带端口发送 ex: $host:8080 】proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr; # 在web服务器端获得用户的真实ip 需配置条件① 【 $remote_addr值 = 用户ip 】proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 在web服务器端获得用户的真实ip 需配置条件②proxy_set_header REMOTE-HOST $remote_addr;# proxy_set_header X-Forwarded-For $http_x_forwarded_for; # $http_x_forwarded_for变量 = X-Forwarded-For变量}location ^~ /blog/ { # ^~/blog/ 表示匹配前缀为blog/后的请求proxy_pass ;proxy_set_header Host $proxy_host; # 改变请求头值 - 转发到码云才会成功proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-NginX-Proxy true;}# end ---------------------------------------------------------------------------------------------#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;}}} , 一、前言反向代理作用 隐藏服务器信息 - 保证内网的安全,默认配置文件是nginx.conf中引入包含的default.conf文件 也就是说nginx.conf配置文件中有如下一个配置 include /etc/nginx/conf.d/*.conf;(2)修改配置 - 实现反向代理 注:这里小编将我的default.conf配置文件中的内容提到nginx.conf配置文件中来实现 即注释 include /etc/nginx/conf.d/*.conf; 简单配置 比如 转发到 server {listen80;server_name ;# 服务器地址或绑定域名location / { # 访问80端口后的所有路径都转发到 proxy_pass 配置的ip中root /usr/share/nginx/html;index index.html index.htm;proxy_pass ; # 配置反向代理的ip地址和端口号 【注:url地址需加上 或 https://】}}复杂配置 根据不同的后缀名访问不同的服务器地址 转发到 :9528/api/ 转发到 server {listen80;server_name ;# 服务器地址或绑定域名location ^~ /api { # ^~/api 表示匹配前缀为api的请求proxy_pass :9528/api/; # 注:proxy_pass的结尾有/,在请求未携带Host请求头时为虚拟主机的主域名;# 当为$host:$proxy_port时,。

广告位

热心评论

评论列表