这是你的 Hipchat 节点的 DNS 名称

这是你的 Hipchat 节点的 DNS 名称

我在 Nginx 服务器上使用 SSL 时遇到了一些问题。经过一段时间的尝试和按照教程操作后,我终于成功了。

然后,当我想要访问 hipchat 服务器时,我惊讶地收到一条消息:“该页面未正确重定向”。

当我查看检查元素中的网络选项卡时,我看到以下内容。状态代码:301 永久移动。

在 SSL 工作之前,网站可以正常工作。但在 SSL 工作之后,网站一直循环。

这是我放在 /etc/nginx/sites-available 文件夹中的 .conf 文件的内容。

            # This is your Hipchat node's DNS name
            upstream chat {
                server hipchat.example.nl:80;    
                keepalive 32;
            }

            # HTTP to HTTPS redirection
            server {
                listen         80;
                server_name    hipchat.example.nl;
                return         301 https://$host$request_uri;
            }

            # 
            server {
                listen                  443;
                server_name             hipchat.example.nl;
                ssl_certificate /example.com.chained.crt;
                ssl_certificate_key /example.com.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;

                location / {
                    proxy_http_version          1.1;
                    proxy_set_header Connection "";
                    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 $scheme;
                    proxy_read_timeout          90;
                    proxy_pass                  http://chat;
                }
            }

这可能只是一个开始的错误,因为我从来没有做过这样的事情,但是有人可以帮我解决这个问题吗?

编辑:所以我只是走了一点(可能)。但现在我似乎找不到聊天。首先,我将我的代理密码更改为http://127.0.0.1:8095; 之后我重启了 nginx,然后当我尝试连接到网站时,我访问的是标准的 Atlassian Crowd 页面。这很奇怪,因为我应该转到 hipchat,当我删除所有 SSL 引用时,它就可以正常工作了。

答案1

这是你的 Hipchat 节点的 DNS 名称

            upstream chat {
                server hipchat.example.nl:80;
                keepalive 32;
            }

            # HTTP to HTTPS redirection
            server {
                listen         80;
                server_name    hipchat.example.nl;
                location / {
                return         301 https://$server_name$request_uri;
                }
            }

            #
            server {
                listen                  443 ssl;
                ssl on;
                server_name             hipchat.example.nl;
                client_max_body_size 10m;
                ssl_session_timeout 180m;

                location / {
                    proxy_pass                  http://localhost:8080;
                }
            }

当我将代理传递更改为 localhost 并在 Tomcat 的配置中更改连接器时,这个问题基本上就解决了。如果您需要,可以在此处阅读更多相关信息指导

答案2

当我通过在 server.xml 中指定 proxyName、proxyPort、scheme 和安全连接器属性来配置 tomcat 时,这个问题就解决了。

我的连接器配置如下所示:

    <Connector port="8080" protocol="HTTP/1.1"
        connectionTimeout="20000"
        enableLookups="false"
        acceptCount="100"
        proxyName="<<your_host_name>>"
        proxyPort="443"
        scheme="https"
        secure="true"/>

相关内容