Nginx 重定向发送 localhost 而不是 server_name ip 地址
Nginx redirect sending localhost instead of the server_name ip adress
我在 CentOS 7 上的 nginx 配置 运行 遇到问题。
我正在尝试将端口 80 上的 http 请求发送到 443 上的 ssl 端口,两台服务器的设置如下所示:
upstream backend {
server 192.168.1.79:8080;
}
server {
listen 80;
#listen [::]:80;
server_name TOTO02; #192.168.1.78
rewrite ^ https://CERVO02$request_uri;
}
server {
listen 443 ssl spdy;
server_name TOTO02;
ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
#root /usr/share/nginx/html;
#index index.html index.htm;
proxy_pass http://backend;# backend c'est pas une variable
proxy_cache my-test-cache;
proxy_cache_valid 200 302 60m;
proxy_cache_valid 404 1m;
proxy_cache_use_stale error timeout invalid_header updating;
proxy_redirect default;
}
我遇到的问题是我从 http 服务器返回的 url 是 https://localhost/
并且主机文件都在两台服务器上正确设置。
发现问题出在我使用的浏览器 chrome 上,该浏览器有先前的错误,但由于浏览器的缓存,它保留了旧错误。一旦我用 Internet Explorer 测试它,它就可以正常工作。
我在 CentOS 7 上的 nginx 配置 运行 遇到问题。 我正在尝试将端口 80 上的 http 请求发送到 443 上的 ssl 端口,两台服务器的设置如下所示:
upstream backend {
server 192.168.1.79:8080;
}
server {
listen 80;
#listen [::]:80;
server_name TOTO02; #192.168.1.78
rewrite ^ https://CERVO02$request_uri;
}
server {
listen 443 ssl spdy;
server_name TOTO02;
ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
#root /usr/share/nginx/html;
#index index.html index.htm;
proxy_pass http://backend;# backend c'est pas une variable
proxy_cache my-test-cache;
proxy_cache_valid 200 302 60m;
proxy_cache_valid 404 1m;
proxy_cache_use_stale error timeout invalid_header updating;
proxy_redirect default;
}
我遇到的问题是我从 http 服务器返回的 url 是 https://localhost/
并且主机文件都在两台服务器上正确设置。
发现问题出在我使用的浏览器 chrome 上,该浏览器有先前的错误,但由于浏览器的缓存,它保留了旧错误。一旦我用 Internet Explorer 测试它,它就可以正常工作。