Я реализовал конфигурацию моего nginx на основе предложений , конфигурация работает, когда запрос сделан на http://www.example.com, он успешно перенаправляет на https://www.example.com.
Однако он не работает для не-www, поэтому, когда я делаю запрос к https://example.com, nginx не удается перенаправить на https://www.example.com
посоветуйте, пожалуйста, мой конфиг, как показано ниже:
upstream oms {
server localhost:8081;
}
upstream backend {
server localhost:8082;
}
#
# Redirect all non-www to www
#
server {
server_name example.com;
ssl_certificate /etc/ssl/certs/secure.example.com.9.2019.chain.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
listen *:80;
listen *:443 ssl spdy;
listen [::]:80 ipv6only=on;
listen [::]:443 ssl spdy ipv6only=on;
return 301 https://www.example.com$request_uri;
}
#
# Redirect all non-encrypted to encrypted
#
server {
server_name www.example.com;
listen *:80;
listen [::]:80;
return 301 https://www.example.com$request_uri;
}
server {
#listen 80;
#listen 443 ssl;
listen *:443 ssl spdy;
listen [::]:443 ssl spdy;
ssl on;
ssl_certificate /etc/ssl/certs/secure.example.com.9.2019.chain.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
server_name www.abc.com;
access_log /var/log/nginx/nginx.vhost.access.log;
error_log /var/log/nginx/nginx.vhost.error.log;
location / {
proxy_pass "http://oms";
}
location /backend/ {
proxy_pass "http://backend";
}
}