想要的效果:
访问源站是https,然后访问反代服务器也是https
现在证书都添加上去,就是该如何实现反代
用宝塔折腾了一会儿,把源站也搞成了400了,也没搞成
浙江网友:两边都装宝塔试了下
打开反代站,直接跳到源站
这是怎么回事
台湾网友:访问反代站直接跳到源站,想了想,应该是源站开了强制HTTPS的锅
但是关掉的话ssl几乎就没有意义了
这种情况该如何解?反代的话如何避免被强制HTTPS跳到源站
甘肃网友:
楼下给出了答案~.~
陕西网友:
源站无需任何设置。
我用的是军哥的 LNMP ,无需编译 sub_filter。
反代配置如下:
- location / {
- sub_filter 123.com 123.net;
- proxy_pass https://123.com;
- proxy_set_header X-Real-IP 源站IP地址;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header Referer https://123.com;
- proxy_set_header REMOTE-HOST $remote_addr;
- add_header X-Cache $upstream_cache_status;
- proxy_set_header Accept-Encoding "";
- sub_filter "123.com" "123.net";
- sub_filter_once off;
- expires 12h;
- }
复制代码
山西网友:如果源站是自己的话,用Haproxy很简单的。下面配置文件是我实际在用的。
- global
- #daemon
- log 127.0.0.1 local0
- log 127.0.0.1 local1 notice
- maxconn 4096
- defaults
- mode http
- maxconn 2000
- log global
- option dontlognull
- option http-server-close
- option redispatch
- retries 3
- timeout connect 5s
- timeout client 50s
- timeout server 50s
- listen stats
- bind *:9090
- balance
- mode http
- stats enable
- stats uri /stats
- stats auth admin:password
- frontend in_http_80
- bind *:80
- mode http
- default_backend backend_http
- frontend in_https_443
- bind *:443
- mode tcp
- default_backend backend_https
- backend backend_http
- balance roundrobin
- option forwardfor
- http-request set-header X-Forwarded-Port %[dst_port]
- http-request add-header X-Forwarded-Proto https if { ssl_fc }
- option httpchk HEAD / HTTP/1.1\r\nHost:localhost
- server node1 源站ip:80 check
- backend backend_https
- mode tcp
- 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,有没有大佬给个思路