系统版本:Ubuntu 20.04 64位
一、安装nginx
1、安装nginx命令
sudo apt-get install nginx
2、 查看nginx的版本和已安装的服务模块
nginx -V
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