Я не получаю ошибки при установке сертификата ssl, но https не работает! Я использую сервер nginx под Ubuntu 18.04 linux
Мой ssl файл находится под nginx /etc/nginx/ssl/default
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl;
listen [::]:443;
server_name domain.com;
ssl_certificate /etc/nginx/ssl/domain.com.chained.crt;
ssl_certificate_key /etc/nginx/ssl/perm_with_key.pem;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
#try_files $uri $uri/ =404;
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_connect_timeout 400000;
proxy_send_timeout 400000;
proxy_read_timeout 400000;
send_timeout 400000;
proxy_hide_header X-Frame-Options;
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options nosniff;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
}
}
Я не знаю, что мне здесь не хватает. Я получил сертификат SSL от godaddy.
Может ли кто-нибудь дать мне решение. Благодарю.
1 ответ
Вам нужны отдельные серверные блоки для 80 и 443:
server {
listen 80 default_server;
server_name _;
access_log off;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl default_server;
server_name domain.com _;
<Put the rest of your existing stuff here with only one server_name directive>
}
Это перенаправит все входящее с 80 на 443
У Nginx отличная документация. Добавьте в закладки: