关于nginx反代https,有没有大佬给个思路

搬瓦工机场JMS

想要的效果:

访问源站是https,然后访问反代服务器也是https

现在证书都添加上去,就是该如何实现反代

用宝塔折腾了一会儿,把源站也搞成了400了,也没搞成
浙江网友:两边都装宝塔试了下

打开反代站,直接跳到源站

这是怎么回事
台湾网友:访问反代站直接跳到源站,想了想,应该是源站开了强制HTTPS的锅

但是关掉的话ssl几乎就没有意义了

这种情况该如何解?反代的话如何避免被强制HTTPS跳到源站
甘肃网友:
楼下给出了答案~.~
陕西网友:
源站无需任何设置。

我用的是军哥的 LNMP ,无需编译 sub_filter。

反代配置如下:

  1.     location / {
  2.         sub_filter 123.com 123.net;
  3.         proxy_pass        https://123.com;
  4.         proxy_set_header   X-Real-IP 源站IP地址;
  5.         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
  6.         proxy_set_header   Referer https://123.com;
  7.         proxy_set_header REMOTE-HOST $remote_addr;
  8.         add_header X-Cache $upstream_cache_status;
  9.         proxy_set_header Accept-Encoding "";
  10.         sub_filter "123.com" "123.net";
  11.         sub_filter_once off;
  12.         expires 12h;
  13.     }

复制代码

山西网友:如果源站是自己的话,用Haproxy很简单的。下面配置文件是我实际在用的。

  1. global
  2.   #daemon
  3.   log 127.0.0.1 local0
  4.   log 127.0.0.1 local1 notice
  5.   maxconn 4096
  6.   
  7. defaults
  8.   mode http
  9.   maxconn        2000
  10.   log        global
  11.   option        dontlognull
  12.   option        http-server-close
  13.   option        redispatch
  14.   retries        3
  15.   timeout        connect        5s
  16.   timeout        client        50s
  17.   timeout        server        50s
  18. listen stats
  19.   bind *:9090
  20.   balance
  21.   mode http
  22.   stats enable
  23.   stats uri /stats
  24.   stats auth admin:password
  25.   
  26. frontend in_http_80
  27.   bind *:80
  28.   mode http
  29.   default_backend backend_http
  30. frontend in_https_443
  31.   bind *:443
  32.   mode tcp
  33.   default_backend backend_https
  34.   
  35. backend backend_http
  36.   balance roundrobin
  37.   option forwardfor
  38.   http-request set-header X-Forwarded-Port %[dst_port]
  39.   http-request add-header X-Forwarded-Proto https if { ssl_fc }
  40.   option httpchk HEAD / HTTP/1.1\r\nHost:localhost
  41.   server node1 源站ip:80 check
  42. backend backend_https
  43.   mode tcp
  44.   server srv2 源站ip:443 check

复制代码

江苏网友:直接反代源站IP地址不行吗?源站域名解析到反代站上
陕西网友:可以了,谢谢大佬
北京网友:你要把a.com替换成b.com
黑龙江网友:
编辑了,解决了  是我太蠢了,忘了把目录那行去了

老哥我之前宝塔用这个放到conf里,测试了没问题

但是刚才把环境换成lnmp,添加完域名,然后加了证书

之后又加了强制HTTPS的代码和你贴的代码到vhost的域名配置里

结果只有强制https生效,这个反代怎么也不生效

后面把server80和443的配置按照宝塔的那样合并到一起,反代还是不生效

一直提示403,每次测试都是用的chrome访客模式
安徽网友:
编辑了,解决了  是我太蠢了,忘了把目录那行去了

老哥我之前宝塔用这个放到conf里,测试了没问题

但是刚才把环境换成lnmp,添加完域名,然后加了证书

之后又加了强制HTTPS的代码和你贴的代码到vhost的域名配置里

结果只有强制https生效,这个反代怎么也不生效

后面把server80和443的配置按照宝塔的那样合并到一起,反代还是不生效

一直提示403,每次测试都是用的chrome访客模式
四川网友:
是网站跟目录那块,忘了注释掉了

以上信息转载自Hostloc。

未经允许不得转载:美国VPS_搬瓦工CN2 GIA VPS » 关于nginx反代https,有没有大佬给个思路

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏