系统版本:Ubuntu 20.04 64位
一、安装nginx
1、安装nginx命令
sudo apt-get install nginx
2、 查看nginx的版本和已安装的服务模块
nginx -V
![](https://img.haomeiwen.com/i26090942/dd012a375fd57d7a.png)
3、启动nginx,默认是没有启动的。
systemctl start nginx
4、使用apt安装的nginx,默认配置文件位于:/etc/nginx/nginx.conf
二、配置反向代理,并使用https
1、编辑/etc/nginx/nginx.conf文件
http {
#反向代理
server {
# 监听端口443 即当访问服务器的端口是443时,进入这个server块处理
listen 443;
server_name ****.com; #你需要访问的域名
ssl on; #这个一定开启,否则安全认证会报错
ssl_certificate /etc/nginx/cert/***.pem; #ssl证书文件
ssl_certificate_key /etc/nginx/cert/***.key; ####ssl证书文件
proxy_set_header Host $host:$server_port; #隐藏客户的ip
# location后面代表访问路径 当是/ 请求时 代理到GPT的地址
location / {
# 使用 proxy_pass(固定写法)后面跟要代理服务器地址
proxy_pass http://***.com; # 反向代理到这个地址
chunked_transfer_encoding off; # 禁用分块编码传输,避免可能的代理问题
proxy_buffering off; # 禁用代理缓存,避免数据传输延迟
proxy_cache off; # 禁用代理缓存,确保实时获取最新的数据
tcp_nopush on; # 开启TCP NOPUSH选项,禁止Nagle算法
tcp_nodelay on; # 开启TCP NODELAY选项,禁止延迟ACK算法
keepalive_timeout 300; # 设定keep-alive超时时间为65秒
#proxy_set_header X-Forwarded-For $remote_addr; # 将客户端真实IP添加到代理请求头中的X-Forwarded-For字段中,用于记录客户端真实IP
}
}
2、开启访问80端口时,重定向到443
http {
server {
listen 443;
}
}
#监听端口80 即当访问服务器的端口是80时,进入这个server块处理,并将80跳转到443
server { #这里这个server一定是在http外部,单独一个分块,
listen 80;
server_name chatgpt.conn.link; #这里修改成自己的域名
#核心代码
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
3、最后重启nginx,现在访问https://.com 和访问http://.com
都会自动跳转到https://***.com
网友评论