@gattosporco
IT

Как сделать редирект с помощью nginx с IP на доменное имя сайта?

Суть вопроса: сейчас при попытке ввести в браузере IP сервера, получаю ошибку не валидности ssl сертификата (все логично).
Что бы исправить ситуацию, хочу всех кто пытается зайти на сайт по IP переслать на сайт по доменному имени.
Для этого в /etc/nginx/sites-enabled/ добавил конфиг-файл для IP адреса.

Помогите пожалуйста найти ошибку и сделать редирект корректно.

Содержимое:
server {
listen 80;
listen [::]:80 default_server ipv6only=on;
server_name server_ip_adress; # www and your ip address
ssl_certificate /etc/letsencrypt/live/servername/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/servername/privkey.pem; # managed by Certbot
return 301 https://server_domain_name$request_uri;
}

# HTTPS — proxy all requests to the Node app
server {
# Enable HTTP/2
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name server_ip_adress;

# Use the Let’s Encrypt certificates
ssl_certificate /etc/letsencrypt/live/servername/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/servername/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
return 301 https://server_domain_name$request_uri;

# Include the SSL configuration from cipherli.st
#include snippets/ssl-params.conf;

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass localhost:5000/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
}
  • Вопрос задан
  • 1399 просмотров
Пригласить эксперта
Ответы на вопрос 2
Veneomin
@Veneomin
Этот вариант смотрели?
Ответ написан
@trofimovdev
Python
1. Слушая 80 порт, вы хотите подключить SSl. Ну такое.
2. Слушая 443 порт IP адреса, вы, опять же, хотите подключить SSL. На IP адреса, насколько я знаю, SSL не распространяется.
listen 80;
server_name server_ip_adress;
return 301 https://server_domain_name$request_uri;

А уже в конфиге домена подключать сертификаты.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы