2025年利用反向代理对IP地址的文根修改

利用反向代理对IP地址的文根修改起因 应用程序挂到公网时 域名地址不能沿用开发测试时类似 IP Port AppName 这种粗狂的形式 需要改成一些高大上的地址 或者现有的 nginx 需要以文根区分不通应用从而进行分发处理 当然改变文根的方法有很多种 比如通过映射的方式 Spring MVC

大家好,我是讯享网,很高兴认识大家。

起因

# Spring MVC @RequestMapping(value = "/prefix/Demo") # Python # 创建 bp=Blueprint('prefix',__name__,url_prefix='/prefix')  # 使用 @admin.route('/Demo') # 注册 app.register_blueprint(prefix.bp) 

讯享网

但是通过映射的方式可能会破坏原来的层次结构和代码逻辑的,至少涉及ajax的js也需要相应调整,所以不太推荐。这里我推荐采用了nginx/apache的反向代理,把请求进行处理转发,无需对原有的代码进行任何修改。

实践

举个例子:

讯享网公网地址:https://www.lovewow.cn/testApp 内网地址:https://127.0.0.1:6666 比如:表面**问https://www.lovewow.cn/testApp/xxx,其实是想访问https://127.0.0.1:6666/xxx 

nginx


讯享网

server { listen 80; server_name https://www.lovewow.cn; charset utf-8; #access_log logs/host.access.log main; location /testApp/ { # 访问https://www.lovewow.cn/testApp就会转发到下面proxy_pass的值 proxy_pass https://127.0.0.1:6666/; } } 

Apache

讯享网# 保证以下模块加载 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so # 配置ProxyPass # ProxyPassReverse的配置总是和ProxyPass 一致,ProxyPassReverse防止页面内重定向导致无法访问 ProxyPass /testApp/ https://127.0.0.1:6666/ ProxyPassReverse /testApp/ https://127.0.0.1:6666/ 

2 出现关于SSL的错误

# nginx的错误 ERR_SSL_PROTOCOL_ERROR # 解决方法 ssl on; ssl_certificate /path/xxx.crt; ssl_certificate_key /path/xxx.key; ssl_verify_client off; # Apache的错误 AH01961: SSL Proxy requested for https://www.lovewow.cn/testApp/xxx but not enabled [Hint: SSLProxyEngine] AH00961: HTTPS: failed to enable ssl support for 127.0.0.1:6666 (127.0.0.1) # 解决方法 SSLProxyEngine On SSLProxyVerify none SSLProxyCheckPeerCN off SSLProxyCheckPeerName off 
小讯
上一篇 2025-03-21 14:34
下一篇 2025-01-10 10:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/67001.html