nginx 代理转发 http https 基本用法
nginx 配置http最简单的用法;
server{
# 监听的端口
listen 80;
# 绑定的域名,多个用空格分开即可。
server_name prvt.cool www.prvt.cool;
location / {
# 代理的地址
proxy_pass http://127.0.0.1:9010;
}
}
一般作为前置机时,还需要转发ip与host,否者不能获取真实的访问信息。
server{
# 监听的端口
listen 80;
# 绑定的域名,多个用空格分开即可。
server_name prvt.cool www.prvt.cool;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
# 代理的地址
proxy_pass http://127.0.0.1:9010;
}
}
nginx http自动跳转到https
server{
# 监听的端口
listen 80;
# 绑定的域名,多个用空格分开即可。
server_name prvt.cool www.prvt.cool;
# 自动跳转到https
rewrite ^(.*)$ https://$host$1 permanent;
}
nginx 配置https最简单的用法,比如您的其他服务端程序,配置证书很麻烦时,可以尝试用NGINX。
server{
# 一般采用443,也适用其他端口
listen 443;
server_name prvt.cool www.prvt.cool;
ssl on;
# 可在服务商申请免费或收费的域名证书。
# Linux 配置 pem key
ssl_certificate /www/server/panel/vhost/cert/您证书存放的实际文件地址;
ssl_certificate_key /www/server/panel/vhost/cert/您证书key存放的实际文件地址;
# Windows 配置 pem key
#ssl_certificate d://您证书存放的实际文件地址;
#ssl_certificate_key d://您证书key存放的实际文件地址;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
location / {
# 代理的地址
proxy_pass http://127.0.0.1:9010;
}
}
虚拟目录(比如说把静态资源交给nginx处理),有些服务端应用,在处理静态文件时,可能比较麻烦,也可以尝试使用这种方式。
location /upload/ {
alias D:/website/prvt.cool/files/upload/;
}
nginx 开启缓存,减少服务端请求
proxy_cache_path 服务器物理路径/nginx-cache keys_zone=my-cache:10m use_temp_path=off;
server {
# .... 其他配置
location / {
# .... 其他配置
proxy_cache my-cache;
# 只缓存状态码是 200 的响应,缓存时间为 10 分钟,支持S M H
proxy_cache_valid 200 10M;
# 代理的地址
proxy_pass http://127.0.0.1:9010;
}
}
相关推荐
-
PHP8种变量类型的详细讲解2025-02-22 00:32:24
-
php+apache 和 php+nginx的区别2025-02-22 00:21:27
-
PHP:与workerman结合实现定时任务2025-02-22 00:15:57
-
Nginx的Rewrite规则与实例2025-02-22 00:15:39
-
MySql中身份证字段的简单脱敏介绍2025-02-22 00:15:36