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

}

相关推荐
syagain_zsx18 分钟前
spdlog实战:日志分级、滚动与性能调优
linux·c++·日志库·二次开发日志库
GeW13 小时前
新质生产力路线图Linux、数据库、国产化替代一次讲透
linux
aningx15 小时前
cachyos 从 GRUB 切换到 rEFInd
linux
第404号工位16 小时前
40块钱二手瘦客户端,如何跑满家庭物联网中枢?(拒绝Docker爆盘实录)
linux·架构·node.js
对象存储与RustFS16 小时前
网盘限速逼你开会员?用 RustFS 自己搭一个不限速的“私人网盘
服务器·后端·docker
骑着蜗牛撵大象32718 小时前
Linux 进程间通信之管道:从 pipe() 的内核语义到 FIFO 落地排错
android·java·linux·系统编程·fifo·管道·进程间通信
..Dauntless..18 小时前
【Linux】一切皆文件和缓冲区
linux·运维·服务器
裕晟资质规划18 小时前
三类资质变更报告时限差在哪?军工 15 日、集成印制 10 日
大数据·服务器·网络
QMCY_jason18 小时前
x86 ubuntu2204 无gui 安装 openeuler 2203 aarch64版本
linux·运维·服务器
重生之小比特18 小时前
【Linux系统】12 进程程序替换 自定义Shell 命令行解释器
linux·运维·服务器