首先,我要为发布此帖道歉。我已经在搜索这个问题了,尝试了各种方法,但仍然没有得到答案。请不要生我的气。
好的,这是我的单个配置文件:
upstream app-backend {
server 172.23.2.143:9080 weight=1 max_fails=2 fail_timeout=10s;
server 172.23.2.144:9080 weight=1 max_fails=2 fail_timeout=10s;
}
server {
listen 12001 ssl;
server_name test.abc.com;
error_page 497 https://test.abc.com:12001$request_uri;
include /usr/local/openresty/nginx/conf/tls/ssl.conf;
location / {
proxy_pass http://app-backend;
proxy_set_header Host $host;
}
}
所以问题是,当我访问我的主域并进行一些登录(POST)时:
https://test.abc.com:12001/login.jsp
它将重定向到具有相同路径的上游之一,
它告诉我http://test.abc.com:9080/home.detail
这个网站不存在,然后我在浏览器上收到消息this site cannot be reached
问题是,为什么这个重定向到属于后端端口的端口 9080。我不知道该怎么办了。我真的需要帮助和指导。请
答案1
我正在用这种配置解决上述情况。
proxy_cache_path /tmp/NGINX_cache/ keys_zone=backcache:10m;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream app-backend {
ip_hash;
server 172.22.8.143:9080 weight=1 max_fails=2 fail_timeout=10s;
server 172.22.8.144:9080 weight=1 max_fails=2 fail_timeout=10s;
}
server {
listen 9080 ssl;
server_name test.abc.com;
error_page 497 https://test.abc.com:9080$request_uri;
include /usr/local/openresty/nginx/conf/tls/ssl.conf;
location / {
proxy_pass http://app-backend;
proxy_set_header Host $http_host;
proxy_cache backcache;
}
}