【问题标题】:Rewrite in Nginx for hostname:82在 Nginx 中重写主机名:82
【发布时间】:2012-09-26 15:03:23
【问题描述】:

在 Nginx+tomcat 上设置实例时遇到重定向问题 我正在将 nginx 与 haproxy 与 tomcat 一起使用

以下是我用于设置虚拟主机的配置 [在 conf.d 下]

    server{
            listen 82;
            server_name domain.com;
            rewrite ^/(.*) http://$server_name$1 permanent;
            error_log /var/log/nginx/domain-error.log;
     location / {
            proxy_pass http://localhost:100;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
   }

现在,当我将 http://domain.com:82 放在浏览器上时,它会重定向到 https://domain.com 我想保留它:82 端口

我也尝试了下面的重写规则,但没有解决问题[这不是打开页面]

重写 ^(.*) http://$server_name:82/$1 永久

请帮我纠正这个问题。

谢谢, 晴天

【问题讨论】:

    标签: nginx rewrite


    【解决方案1】:

    也许您只是在端口号上出错了? 81 而不是 82?

    【讨论】:

      【解决方案2】:

      您实际上创建了一个无限循环。由于listen 82;,NGINX 已经在收听:82。每次请求进入时,它只是重新初始化请求。您应该能够删除(或注释掉)rewrite ^/(.*) http://$server_name$1 permanent; 行以使其正常工作。

      【讨论】:

      • 您好 Sean 感谢您提供有用的信息。但是,当我使用此端口访问应用程序时,我可以登录,但单击应用程序内的任何链接时,它会在删除您提到的行后再次将我重定向到登录页面....这个应用程序是另一个在端口 80 上运行的应用程序(工作正常),问题在于复制的应用程序位于:81。这是应用程序的问题还是存在 nginx conf 问题来维护 JSESSIONID,因为应用程序部署在 tomcat 上。请帮帮我。
      猜你喜欢
      • 2015-10-08
      • 2013-04-22
      • 1970-01-01
      • 2019-01-28
      • 2013-03-19
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      • 2011-03-26
      相关资源
      最近更新 更多