首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx proxy_pass到http或https的不同行为

问Nginx proxy_pass到http或https的不同行为
EN

Stack Overflow用户
提问于 2022-01-15 13:00:15
回答 1查看 1.6K关注 0票数 0

日安!我们有一个基于nginx的代理和next配置:

代码语言:javascript
复制
server {
  server_name  proxy;
  listen 80;
  underscores_in_headers on;
  access_log  /var/log/nginx/access.log  bodylog;

  location / {
    proxy_pass http://X.X.X.X:Y;
  }
}

后端是一个具有第一次登录页面访问权限的应用程序。所以问题是:当我们将代理调到后端的IP地址(proxy_pass http://X.X.X.X:Y)时,当我们在浏览器中登录开始页面时,所有的请求都会通过nginx代理服务器登录,然后我们可以将它们登录到access.log。

但是,如果我们想在这里使用https://address.com来处理相同的应用程序

代码语言:javascript
复制
  location / {
    proxy_pass https://address.com;
    resolver 127.0.0.11;
  }

我们得到的只有第一次加载登录页面通过nginx代理,但所有其他动作(登录本身,搜索它,等等)右转到域https://address.com (不是通过代理服务器),所以不能登录到nginx-代理access.log文件,但我们需要这个!是否存在像proxy_pass一样将此行为更改为IP的行为?

附加信息:部署在kube集群中的应用程序,所以当我试图到达IP请求时,请转到拥有LB类型的应用程序的kube服务,然后转到app。当我尝试用https请求到达DNS名称时,转到集群中的nginx-ingress控制器,然后转到app的kube-service,然后转到app。

EN

回答 1

Stack Overflow用户

发布于 2022-01-16 18:14:20

我看到您正在使用端口80 (即http ),并使用proxy_pass https://address.com;即端口443。

升级到https也许会有帮助吗?举个例子:

代码语言:javascript
复制
server {
    # SSL configuration
    #begin of SSL
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl on;

    ssl_certificate /etc/ssl/certs/cert.pem;
    ssl_certificate_key /etc/ssl/private/key.pem;
    #end of SSL

如果代理服务器有多个网络接口,有时可能需要选择特定的源IP地址来连接到代理服务器或上游。如果NGINX后面的代理服务器被配置为接受来自特定IP网络或IP地址范围的连接,这可能会很有用。尝试指定必要的网络接口的proxy_bind指令和IP地址:

代码语言:javascript
复制
location / {
    proxy_pass https://address.com;
    proxy_bind 127.0.0.11;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70721669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档