방금 URL을 게시하고 보기를 테스트했는데 Android의 Chrome에서 다음 URL로 여러 번 리디렉션되는 것을 확인했습니다. 쿠키를 삭제하고 데이터를 검색해 보았지만 여전히 같은 현상이 발생합니다. 이건 꼭 바꿔야 할 사이트 설정인 것 같아요. 사이트는 동일한 가상 머신 내에서 실행되는 NGinX 서버에 의해 프록시되는 Confluence 사이트인 Google Cloud에서 호스팅됩니다.
테스트 사례:
- Android-Chrome에서 "테스트 URL"로 이동하여 "잘못된 URL"로 리디렉션 --> 이유는 무엇입니까? /어떻게 고치는 지?
- Android-Chrome에서 "데스크톱 사이트"를 요청하고 "테스트 URL"로 이동하여 예상 URL을 얻습니다.
- Android-Firefox를 통해 "테스트 URL"로 이동하여 예상 URL을 가져옵니다.
- 데스크톱 컴퓨터(Win10)의 Chrome/FireFox/Edge/IE(모든 브라우저)에서 "테스트 URL"로 이동하여 예상 URL을 얻으세요!
다른 테스트 URL: https://www.freesoftwareservers.com/display/FREES/Free+Software+Servers
오류 URL: https://www.freesoftwareservers.com/#content/view/327684
참고: 다른 사용자는 이것이 Android Chrome의 특정 문제이지만 Android Firefox 또는 데스크톱 Chrome과 관련이 없음을 확인했습니다. Android Chrome에서도 데스크톱 버전을 요청할 때 작동합니다!
업데이트: 이것은 내 NGinX 구성입니다.
##Confluence
server {
listen 80;
server_name www.freesoftwareservers.com freesoftwareservers.com;
return 301 https://www.freesoftwareservers.com/;
}
server {
listen 443 ssl;
server_name www.freesoftwareservers.com freesoftwareservers.com;
rewrite ^/wiki / permanent;
location / {
proxy_pass http://localhost:8091/;
include /etc/nginx/proxy.conf;
}
}
root@confluence:/etc/nginx/sites-enabled# cat /etc/nginx/proxy.conf
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
답변1
nginx 프록시 구성이 괜찮아 보입니다.
그러나 Confluence에는 모바일 전용 섹션/컨텐츠가 있습니다.
nginx에서 http에서 https로의 리디렉션을 사용하여 루프를 생성하려면 http 링크가 있어야 합니다.
답변2
이 문제는 서버 이름과 프록시 URL 간의 불일치와 관련이 있습니다. 데스크톱에서는 잘 작동하지만 모바일에서는 작동하지 않는 것 같습니다. 사이트를 Google Cloud에서 내 LAN으로 이동했지만 여전히 동일한 문제가 발생하므로 문제가 캐싱과 관련이 없음을 확인할 수 있습니다.
내 프록시를 confluence.freesoftwareservers.com
프록시 이름으로 사용하기 전에는 작동했지만 www.freesoftwareservers.com
공개적으로 액세스할 수 있는 것으로 변경하면 문제가 해결되었습니다.
이것은 Atlassian 지원에서 받은 작동하는 커넥터입니다(그들의 지원은 훌륭합니다!)
고쳐 쓰다:
https://www.freesoftwareservers.com/display/FREES/Confluence+HTTPS+SSL+Reverse+Proxy+via+NginX
이 문제는 TomCat 프록시 커넥터와 관련되어 있습니다.NGinX 설정에는 적용되지 않습니다.
다음 파일을 편집합니다.
nano /opt/atlassian/confluence/conf/server.xml && service confluence restart
이는 NGinX 및 HTTPS를 통한 프록시를 위한 작업 구성입니다.
<Server port="8000" shutdown="SHUTDOWN" debug="0">
<Service name="Tomcat-Standalone">
<!--
=================================================================================$
DEFAULT - Direct connector with no proxy, for unproxied HTTP access to Confluence.
If using a http/https proxy, comment out this connector.
=================================================================================$
-->
<Connector port="8090"
maxThreads="200"
minSpareThreads="25"
connectionTimeout="20000"
enableLookups="false"
maxHttpHeaderSize="8192"
protocol="HTTP/1.1"
useBodyEncodingForURI="true"
redirectPort="8443"
acceptCount="100"
disableUploadTimeout="true"
scheme="https"
proxyName="www.freesoftwareservers.com"
proxyPort="443"/>