当前位置:首页 > 教程 > 正文内容

nginx的ip(nginx的ip地址)

2023-06-06 07:01:05教程1

nginx的ip

一个nginx服务器只能有一个虚拟主机允许IP访问

只要在server_name最后面添加一个default,就可以在其他nginx没有定义的域名下,使用当前server解析(例如,其他server都没有定义ip地址作为server_name则用IP访问会被打到default主机上)

nginx的ip地址

内网NGINX配置域名后如需使用域名访问需要有对应的域名解析CDN,

如仅内网访问也可以使用IP,或者本地电脑做hosta记录

公网访问需要租用公网IP绑定域名解析

nginx的ipv6配置

1 IPV4公网IP

2 由于IPV4和IPV6两个网络不同不通,所以IPV4与IPV6之间要建立隧道,以便访问

3 服务器要开启IPV6支持,Linux通过修改系统参数实现

4 服务器上的Web服务器,如Nginx要开启IPV6支持

5 服务器要获取IPV6的IP,并做AAAA域名解析

nginx的ip_hash缺点

nginx负载均衡cookie携带就是ginx-sticky-module 是 Nginx 的一个扩展模块,实现了通过 Cookie 的会话粘贴效果。

Nginx以前对session 保持支持不太好,主要采用ip_hash把同一来源的客户(同一C段的IP)固定指向后端的同一台机器,ip_hash有个缺点是不能实现很好的负载均衡;直到nginx的扩展模块nginx-sticky-module的出现,解决了session sticky的问题。 

基本的原理: 

首先根据轮询RR随机到某台后端,然后在响应的Set-Cookie上加上route=md5(upstream)字段,第二次请求再处理的时候,发现有route字段,直接导向原来的那个节点。

nginx的ip限制

nginx是反向代理,有些ip限制,网关操作可以在nginx执行,要比微服务简单一点。

nginx的ip全转发

答:直接在浏览器输入你的IP就可以了

如果无法访问先用内网IP测试看看,如果内网可以访问,可能是路由器设定问题,

通讯埠转发记得要开80端口给你的nginx的内网IP

如果内网就无法访问,查看一下nginx的服务有没有启动,如果服务正常启动,查看防火墻是否有开80端口访问或者是防火墻是否有吧nginx服务阻挡掉

nginx的ip_hash原理

第一种:Nginx自己的错误页面

Nginx访问一个静态的html 页面,当这个页面没有的时候,Nginx抛出404,那么如何返回给客户端404呢?

看下面的配置,这种情况下不需要修改任何参数,就能实现这个功能。

server {

listen 80;

server_name www.test.com;

root /var/www/test;

index index.html index.htm;

location / {

}

# 定义错误页面码,如果出现相应的错误页面码,转发到那里。

error_page 404 403 500 502 503 504 /404.html;

# 承接上面的location。

location = /404.html {

# 放错误页面的目录路径。

root /usr/share/nginx/html;

}

}

第二种:反向代理的错误页面

如果后台Tomcat处理报错抛出404,想把这个状态叫Nginx反馈给客户端或者重定向到某个连接,配置如下:

upstream www {

server 192.168.1.201:7777 weight=20 max_fails=2 fail_timeout=30s;

ip_hash;

}

server {

listen 80;

server_name www.test.com;

root /var/www/test;

index index.html index.htm;

location / {

if ($request_uri ~* ‘^/$’) {

rewrite .* http://www.test.com/index.html redirect;

}

# 关键参数:这个变量开启后,我们才能自定义错误页面,当后端返回404,nginx拦截错误定义错误页面

proxy_intercept_errors on;

proxy_pass http://www;

proxy_set_header HOST $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for;

}

error_page 404 /404.html;

location = /404.html {

root /usr/share/nginx/html;

}

}

第三种:Nginx解析php代码的错误页面

如果后端是php解析的,需要加一个变量

在http段中加一个变量

fastcgi_intercept_errors on就可以了。

指定一个错误页面:

error_page 404 /404.html;

location = /404.html {

root /usr/share/nginx/html;

}

指定一个url地址:

error_page 404 /404.html;

error_page 404 = http://www.test.com/error.html;

nginx的ip怎么看

可以在server下添加

add_header backendIP $upstream_addr;

add_header backendCode $upstream_status;

这样可在浏览器的响应头中看到backendIP字段,为后端访问的IP地址

backendCode字段,为后端服务器返回的HTTP状态码

可以用来判断哪个服务器接受了请求,并是否正常

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98882378.html