Перенаправление https не работает из http nginx docker - PullRequest
0 голосов
/ 10 апреля 2019

Мой сайт - example.com (например)

Это мой конфиг nginx в dockerfile.

server {
    listen 80;
    server_name example.com;

    location / {
        rewrite ^ https://$host:7000$request_uri? permanent;
    }
}




server {
    listen 443 ssl;
    server_name example.com;

    gzip on;
    gzip_min_length 1000;
    gzip_types text/plain text/xml application/javascript text/css;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    root /usr/share/nginx/html;

    location / {
        add_header Cache-Control "no-store";
        try_files $uri $uri/index.html /index.html;
    }

    location ~ \.(?!html) {
        add_header Cache-Control "public, max-age=2678400";
        try_files $uri =404;
    }
}

Теперь мой докер-контейнер работает на хост-порту 7000 и на порте 80 контейнера. Дело в том, что если мой файл cookie удален и я пытаюсь получить доступ к example.com:7000, я получаю сообщение «Простой HTTP-запрос был отправлен на HTTPS порт 400, неправильный запрос». но если я пытаюсь получить доступ к https://example.com:7000,, я перехожу на нужную страницу с активированным ssl. почему не переписать работу? Я также попытался удалить порт 7000 при перезаписи, но все равно безуспешно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...