[步骤] Nginx 认证 (输入密码后才能访问网页)

注意:

在设置 Nginx 认证以后才能登录网页之前要先安装 Nginx

正文:

步骤一:生成登录网页的用户和密码

1.1 安装生成登录网页用户和密码的工具

# yum -y install httpd-tools

1.2 生成一个登录网页的用户,同时删除所有旧有的用户

# htpasswd -c /usr/local/nginx/pass zhumingyu1

(补充:这里以删除原来的所有用户新增 zhuming1 用户为例)

1.3 增加一个新的登录网页的用户

# htpasswd /usr/local/nginx/pass zhumingyu2

(补充:这里以新增 zhumingyu2 用户为例)

步骤二:修改 Nginx 的配置文件

# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

......
server {
listen 80;
server_name localhost;
auth_basic "input password";
auth_basic_user_file “/usr/local/nginx/pass”;
location /{
root html;
root html;
index index.html index.htm;
}
......
}
......

步骤三:启动 Nginx 服务

# /usr/local/nginx/sbin/nginx

步骤四:此时访问网页就必须输入用户名和密码

(步骤略)

(补充:可以输入刚刚添加的 zhumingyu1 和 zhumingyu2 的用户名和密码)

[步骤] Nginx 虚拟机主机的设置 (设置多域名、IP 地址或端口)

注意:

在添加 Nginx 域名、IP 地址或端口的虚拟机主机之前要先安装 Nginx

正文:

# vim /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

......
Server {
Listen 80;
Server_name www.eternlcenter.com;
Location / {
Root www;
Index index.html index.html;
}
}
......

(补充:这里以将本地的 80 端口设置为 www.eternalcenter.com 的虚拟机为例)

[步骤] Nginx SSL 的设置 (HTTPS)

注意:

在设置 Nginx 重定向之前要先安装 Nginx

正文:

步骤一:生成网站所使用的私钥和公钥

# cd /usr/local/nginx/conf
# openssl genrsa > cert.key
# openssl req -new -x509 -key cert.key > cert.pem

步骤二:修改 Nginx 的配置文件

# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

......
server {
listen 443
server_name www.c.com;
ssl_certificate     cert.pem;
ssl_certificate_key cert.key;

location /{
root html;
index index.html index.htm;
}
......
}
......

[内容] Nginx 代理的设置 (HTTP 和 SSH)

注意:

在设置 Nginx 代理之前要先安装 Nginx

正文:

内容一:设置 Nginx HTTP 代理

1.1 设置 Nginx HTTP 代理 (最简设置)

# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

......
http {
.....
upstream webserver {
   server 192.168.1.100:80;
   server 192.168.1.200:80;
}
.....
server {
listen 80;
server_name www.eternalcenter.com;
location / {
proxy_pass http://webserver;
}
......
}
......
}

(补充:这里以代理并实现 192.168.1.100:80 和 192.168.1.200:80 的负载均衡为例)

1.2 设置 Nginx HTTP 代理

# vi /usr/local/nginx/conf/nginx.conf

将部分内容修改如下:

......
http {
.....
upstream webserver {
Server    192.168.2.100    weight=1    max_fails=1  fail_timeout=30;
Server    192.168.2.200    weight=2    max_fails=2  fail_timeout=30;
Server    192.168.2.101    down;
keepalive 300;
ip_hash;
}
.....
server {
listen 80;
server_name www.eternalcenter.com;
location / {
proxy_pass http://webserver;
}
......
}
......
}


补充:这里以代理并实现
1) 192.168.1.100:80 和 192.168.1.200:80 的负载均衡
2) 192.168.2.100 的权重为 1 最大失败数为 1 延迟时间为 30,192.168.2.200 的权重为 2 最大失败数为 2 延迟时间为 30
3) 192.168.2.101 为备用 IP 地址
4) 会话持续时间为 300
5) 使用 ip_hash 算法固定那个访客 IP 地址访问后端服务器为例
)

内容二:设置 Nginx SSH 代理

将部分内容修改如下:

stream {
upstream backend {
server 192.168.1.100:22;
server 192.168.1.200:22;
}
server{
listen 222;
proxy_connect_timeout 1s;
proxy_pass backend;
}
}

http{
......
}