1.安装Nginx
更新 apt-get 并使用 apt-get 安装 Nginx
apt-get update && apt-get install Nginx -y
尝试启动 Nginx 看看是否会报错
systemctl start nginx
一般没有提示就代表启动正常,可以用 systemctl status 查看运行状态
systemctl status nginx
如果如上则正常。
将 Nginx 设置为开机自动启动
systemctl enable nginx
2.配置反向代理
进入 Nginx 配置目录
cd /etc/nginx/sites-enabled
创建配置文件
vim reverse-proxy.conf
下方为配置文件参考内容
其中 server_name 后方需要替换为你的网站域名,同时 ssl_certificate 与 ssl_certificate_key 后方必须替换成自己网站对应的文件路径
server {
#https监听443端口
listen 443 ssl;
#log文件配置
access_log /var/log/nginx/reverse-access.log;
error_log /var/log/nginx/reverse-error.log;
#反向代理的域名,还可以以次作为条件,不同的域名用不同的反向代理方式,以此共享IP,或者负载均衡
server_name pangruitao.com,www.pangruitao.com;
#https相关配置
ssl on;
#证书文件路径,证书需要在相关平台申请,个人用的阿里云里面的ssl控制台申请的
ssl_certificate /ppfiles/certs/pangruitao.com/pangruitao.com.pem;
ssl_certificate_key /ppfiles/certs/pangruitao.com/pangruitao.com.key;
#ssl相关的一些协议,会话等配置
ssl_session_cache shared:SSL:1m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#反向代理的连接,/为根路径,如果想以https://hostname/server1这种形式,则用/server1
location / {
index index.php;
add_header Content-Security-Policy upgrade-insecure-requests;
#传输大小限制,不设置的话默认为1M,可能有css、图片看不到的问题
client_max_body_size 100M;
#将外部IP信息递交给被反向代理的服务器
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#反向代理的http服务
proxy_pass http://localhost:1180;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
server {
#继续监听80端口信息
listen 80;
#域名判断
server_name pangruitao.com,www.pangruitao.com;
#强制转发为https协议
return 301 https://$host$request_uri;
}
修改完成后 Esc,输入:wq,再回车以保存退出
重启一下Nginx
systemctl restart nginx
在浏览器中访问你的网站对应的
https://pangruitao.com
https://pangruitao.com
https://pangruitao.com
https://pangruitao.com
https://pangruitao.com/post/2106
等路径,检查一下 https 反向代理和 http 转发为 https 是否成功
资料
nginx 反向代理的各种路径规则:https://www.jb51.net/article/227243.htm