一看必会系列:nginx 反向代理https服务

来源:本站原创 Linux 超过487 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.jdccie.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。
本文链接:http://www.jdccie.com/?p=3854转载请注明转自CCIE那点事
如果喜欢:点此订阅本站