nginx配置文件

现有用户机:ip 1.2.3.4

n台服务器:ip 1.1.1.1-1.1.1.n

server{

listen port; //这里指定的是这一个server监听的端口,ip是默认本机ip

server_name name; //匹配请求头中host字段的类型

location path {

proxy_pass http://ip:port/path;

proxy_set_header Host host; //配置请求头,可以自定义,host是取原头

proxy_set_header X-Real-IP remote_addr; //可以自定义,remote_addr源请求ip地址

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;//途径的所有ip

}

}

server {

listen 8999;

root /var/www/test; //指定静态资源地址

location / {

try_files uri uri/ =404; //访问ip:8999/ 自动寻找/var/www/test下的资源,如果是文件就返回,如果是目录返回index/index.html,如果都不是返回404

}

}

负载均衡

upstraem upstream_name{

ip_hash;

server ip:port1 weight=1;

server ip:port2 weight=2; //weight指定权重,权重越大压力越大

server ip:port3 backup; //其他都g了就用这个

}

server{

listen 8080;

server_name copel.com;

location / {

proxy_pass http://upstream_name //这样使用

}

}

https配置,这里使用的是openssl做的证书,只用于学习研究

sudo openssl req -x509 -nodes -days 365 \

-newkey rsa:2048 \

-keyout /etc/nginx/ssl/nginx.key \

-out /etc/nginx/ssl/nginx.crt

参数介绍:

sudo

│

└─ 用管理员权限

openssl

│

└─ 使用 OpenSSL

req

│

└─ 进行证书请求相关操作

-x509

│

└─ 直接生成 X.509 证书

-nodes

│

└─ 私钥不设置额外密码

-days 365

│

└─ 证书有效期 365 天

-newkey rsa:2048

│

└─ 创建一个 2048 位 RSA 新私钥

-keyout ...

│

└─ 私钥保存到 nginx.key

-out ...

│

└─ 证书保存到 nginx.crt

证书生成完成之后不需要额外重启,手动配置好nginx之后再重启

server {

listen 443 ssl;

server_name 192.168.21.128; //servername是域名,如果用户访问的是这个域名才会匹配

ssl_certificate /etc/nginx/ssl/nginx.crt; //这里就是证书存放的位置

ssl_certificate_key /etc/nginx/ssl/nginx.key;

...

}

http跳转https

server{

listen 80;

server_name xxx;

return 301 https://hostrequest_uri; #host是用户请求的域名,request_uri是用户请求的url

}

相关推荐
叼烟扛炮11 分钟前
Linux 学习笔记(五十四):内网穿透实战——用 frp 让外网访问你的私人电脑
linux·服务器·网络·笔记·学习
Android系统攻城狮25 分钟前
Linux FFmpeg深度解析之av_guess_format调用流程与实战(三十六)
linux·运维·服务器·ffmpeg·ffmpeg音视频进阶
进击的荆棘1 小时前
Linux系统——线程概念与控制之线程封装
linux·运维·服务器·线程
叼烟扛炮1 小时前
[LangChain] 学习笔记(05):提示词模板(Prompt)与少样本注入(Few-Shot)实战
linux·人工智能·笔记·学习·langchain·prompt
CodeYp20191 小时前
第5讲:Socket 编程 TCP
linux·socket·tcp
咔_1 小时前
有IPv6地址,为什么外面还是连不进来?让同一台服务分别卡在四个位置
linux·计算机网络
CodeYp20191 小时前
第3讲:网络命令
linux·网络·命令
Csvn10 小时前
认识 Nginx
后端·nginx
天诰12 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程
2035去旅行13 小时前
bootcmd 详细讲解
linux·嵌入式·arm·soc