一看必會系列:nginx 反向代理https服務

來源:本站原創 Linux 超過571 views圍觀 0條評論

nginx 反向代理到其它https網站是不可能的,當然同域名是可以的
nginx 反賂代理到https后端是可以的

查看nginx 是否有ssl模塊

nginx -v

–with-http_ssl_module

到免費網站上申請ssl證書
 
https://freessl.org/

并下載

下載的文件有兩個:

1,ss.pem

2,ss.key

五,服務器安裝,配置nginx

登錄到服務器:

upstream coin {

  server www.tr.com; # 你代理的域名
}

server {
    listen 80;
    server_name www.ccie.wang;
    rewrite ^(.*) https://www.ccie.wang permanent;
}
server {
  listen 443;
  server_name www.ccie.wang; # 你的域名
  ssl on;
  ssl_certificate /etc/nginx/cert/full_chain.pem;
  ssl_certificate_key /etc/nginx/cert/private.key;# 你的證書的名字
  ssl_session_timeout 5m;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
  access_log  /var/log/nginx/ccieerror.log ;
  location / {
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;

                      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_pass http://coin;

  }
}

配置完成后,檢查一下nginx配置文件是否可用,有successful表示可用。

$ nginx -t // 檢查nginx配置文件
配置正確后,重新加載配置文件使配置生效:

$ nginx -s reload // 使配置生效
至此,nginx的https訪問就完成了,并且通過rewrite方式把所有http請求也轉成了https請求,更加安全。

如需重啟nginx,用以下命令:

$ service nginx stop // 停止
$ service nginx start // 啟動
$ service nginx restart // 重啟
七,訪問效果

輸入http:bjubi.com也會自動跳轉至https頁面。

說明:如果是云服務器比如阿里云ECS,需要到阿里云ECS的管理后臺的安全組,修改端口過濾規則把80端口和443端口開放才能訪問到。

注意:

listen 443:表示監聽443端口,即以https提交的請求,上面的listen 80表示同時也監聽以http提交的請求;

ssl on:表示開啟SSL協議;

ssl_certificate:指定SSL證書的crt文件路徑(如果是阿里云的證書則是pem文件);

ssl_certificate_key:指定SSL證書的key文件路徑;

其他ssl開頭的可以照搬;

proxy_pass:指定代理的地址,可以是外網地址,也可以是內網地址;

proxy_redirect http:// $scheme://:表示在程序中有redirect跳轉時,將采用原有傳輸協議方式跳轉,即如果是以https請求,在跳轉后依然是https。

配置完成重啟Nginx即可以https訪問。

在Windows中配置Nginx做https的反向代理

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=3854轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
?
?
萌宠夺宝游戏