当前位置:首页 > 云服务器 > 正文

云服务器中nginx怎么使用


一、如何正确设置nginx中remote当互联网建立时,经常使用remote_addr和x_forwarded_for这两个标头来获取这个IP地址。足够的
什么是remote_addr
remote_addr代表IP,但它的值不是客户端提供的,而是浏览器访问网站时由服务器在这个IP下指定的,如果不在中间管理器中,Web服务器(Nginx、Apache等)会将remote_addr设置为机器的IP。然后通过该代理访问网站,Web服务器会将remote_addr设置为该代理机器的IP。
x_forwarded_for是什么?是您的网络计算机的IP)IP标头将添加到此信息

使用HAProxy作为对抗代理
IP以允许客户端IP,需要在HAProxy中添加这个配置
选项
同上,添加x_forwarded_for头信息,添加你机器的IP
使用真正的Nginx模块
set_real_ip_from10.1.10.0/24;
real_ip_headerX-Extended-Name;
以上是X-Forward中使用的Configuration头信息-因为要route_remote_addr来自10.1.10网段的所有请求
将Nginx放在HAProxy之前作为HTTPS代理
出于安全考虑,页面通常使用https连接来传输敏感信息。https使用SSL加密,HAProxy无法直接共享,因此需要在HAProxyNginx解密之前配置平台。然后再进入HAProxy进行负载均衡。这样,Web服务器前面就有了两个代理。
Nginx代理命令
proxy_set_headerX-forwarded-For$proxy_add_x_forwarded_for;
这个Nginxhttps代理会在header信息中增加x_forwarded_,保存真实的IP地址。
HAProxy配置
optionforwardforexcept10.1.10.0/24
此配置与上一个类似,但多了一项内容。IP网段意味着如果HAProxy从内网(https代理机)接收到请求,则不会设置x_forwarded_est值,以便下一个互联网服务器接收上一个互联网服务器转发的请求。https管理器。
为什么PHP中的HTTP_X_FORWARDED_FOR与Nginx不同?
当您的网站使用CDN时,用户首先访问源站的CDN。CDN回源站时,首先会在x_forwarded_add后面添加
x_forwarded_forwarded_information,保存用户的真实IP服务器IP(即当前的
remote_addr),这样就会有两个值​​在x_forwarded_for中。Nginx将使用第一个值,即真实的IP地址,而PHP将使用第二个值,即CDN地址。为了在第一个值中也使用PHP,您需要添加以下fastcgi配置。
fastcgi_paramHTTP_X_FORWARDED_FOR$http_x_forwarded_for;
它将把nginx使用的值(即第一个IP)传递给PHP,这样PHP得到的x_forwarded_中实际上只有一个值。并且不应使用第二个CDN的IP。
忽略x_forwarded_for
事实上,当您使用Nginxrealip模块时,您将remote_addr设置设置为客户端的真实IP配置。就和他们在一起。
使用这些设置可以确保您的remote_addr中始终设置真实的客户端IP,并且可以忽略x_forwarded_for:)
二、使用Nginx搭建静态网站

我开始构建该网站,但我还不想做任何事情。

无论如何,我们先构建云,然后如何设置呢?让我们从最简单的开始。

Nginx配置文件目录通常在/etc/nginx/下打开文件作为配置:

当外部用户访问网络时提供Web服务器服务。byNginx,Nginx我们需要配置静态资源的路径信息,才能正确通过URL访问服务器上的静态资源。

我们在服务器上安装并安装好Nginx后,就可以通过https://<域名或IP>来访问了。所以只需在浏览器中输入https://100.2.3.4即可。

我们注意到浏览器地址已更改为https://100.2.3.4/mlpresul。在配置文件中,根配置为/usr/share/nginx/html,这意味着当访问外网服务器和目录时,Nginx资源将指向/usr/share/nginx/。html网站。

但是如果你输入电子邮件,它就无法打开(截图如下)。

以阿里云为例,需要在云服务器中添加“安全组则”,添加并保存,打开此页面。

我一般都是将静态资源放在前端服务器的/data/www下,所以修改配置为root/data/www。这次访问https://100.2.3.4会显示/data/www/(如果没有配置索引位置,Nginx默认配置为)。

当我使用Mac机时,我直接使用终端系统中的命令行将本地文件传输到云服务器。

scp(securecopy)命令用于Linux下复制远程文件。与cp类似,只不过cp只能本地复制,不能跨服务器复制。-r只是递归复制个presul。

您应该注意这两种类型之间的区别:

它们的1️⃣采用/data/www/dist,而2️⃣采用/data/www。这意味着将整个目录复制到/data/www。dist/data/www目录中的所有后续子目录和子目录。

也就是说,根配置的路径,对于他们来说应该是/data/www/dist,对于他们来说应该是/data/www。

结果如下:

在浏览器中访问https://100.2.3.4,即可查看我们配置的网页。

部署Nginx静态页面非常简单。剩下的时间我会讲...

结束。