我需要你帮我解决一个奇怪的问题:)
我的服务器上有Geoserver:
它是一个独立的守护进程(不是部署在Tomcat中的WAR ),它正在监听127.0.0.1:8280
我在Geoserver前面有一个Nginx来管理SSL卸载。vhost是:
upstream backend-geoserver {
server 127.0.0.1:8280 weight=10 max_fails=3 fail_timeout=15s;
}
server {
server_name geoserver.example.com;
listen 443 ssl;
include snippets/ssl.conf;
access_log /var/log/nginx/access-geoserver.log;
error_log /var/log/nginx/error-geoserver.log;
location / {
rewrite ^ /geoserver;
}
location /geoserver {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://backend-geoserver/geoserver;
}
}当我在https://geoserver.example.com上到达我的服务器时,它就工作了:我看到了Geoserver的主页
重要细节:端口80已关闭,我无法亲自打开它: Nginx服务器只能回答443
当我尝试登录时,我在X秒后有一个连接超时,此时,我的浏览器(Firefox)中的URL是HTTP :// after erver.example.com/geoserver/<--请注意协议是HTTP而不是HTTPS
如果我用https://替换http://,然后按Enter:我到达页面
如果我点击Geoserver中的一个链接,同样的行为:它在http://上切换,我必须手动强制URL。
有人想办法吗?!
(非常感谢:)
发布于 2022-06-23 07:03:25
您确实应该打开端口80,并配置nginx将不安全的通信重定向到https://
https://stackoverflow.com/questions/72711863
复制相似问题