Debian下用Nginx反向代理http为https

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

发表评论