如何解决将 http 服务器包装在双 nat 后面的 tls 中
我想通过 https 访问 LAN 上的 http 服务器,因为现代浏览器和我已经使用 https 运行的现有站点的组合不断将任何 http 连接提升到 https,即使在 443 以外的端口上也是如此。
>http 服务器通过无线网桥(linux、dnsmasq、不同子网)连接到我的局域网,我已经设置了端口转发(网桥上的 iptables、ipv4_forward)。
Internet--->site-router:8080--->w/bridge:8080--->httphost:8080
LAN_a LAN_b
10.0.0.0/24 10.0.1.0/24
我已经在 LAN_a 上运行了一个 :443 https 网站,而 LAN_b 上的 httphost 位于 10.0.1.20。
我见过很多例子,Nginx 可以用作反向代理来隧道 http 流量,但它们似乎都处理运行在同一主机(即 server_b)上的 http 服务。
我目前在无线网桥上的配置如下:
服务器{
listen 8080;
server_name www.example.com;
root /var/www/html;
ssl_certificate /etc/Nginx/cert.crt;
ssl_certificate_key /etc/Nginx/cert.key;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/Nginx/httphost.access.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_set_header X-Forwarded-Proto https;
proxy_pass http://localhost:8080;
proxy_read_timeout 90;
proxy_redirect http://10.0.1.1:8080 https://www.example.com;
}
}
端口转发:
iptables -A PREROUTING -t nat -i wlan0 -p tcp --dport 8080 -j DNAT --to 10.0.1.20:8080
iptables -A FORWARD -p tcp -d 10.0.1.20 --dport 8080 -j ACCEPT
但是我超时了,而且这个配置似乎希望我在网桥上运行 http 服务,这是不正确的;我想要的服务器在 LAN_b 上的 NAT 后面。
我是否使用了错误的反向代理概念,还是配置文件中存在轻微的配置错误?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。