Как запустить проект Nuxt в HTTPS? - PullRequest
0 голосов
/ 13 мая 2019

Мне удалось превратить nginx в https. Когда я изменил его конфигурацию для поддержки запуска проекта nuxt. Тогда просто nginx не открывает сайт.

Я подозреваю, потому что мой nuxt-проект не работает в https. Так как я могу запустить nuxt в https.

Что я сделал: Я переустановил nginx Я использовал бот letsencrypt для установки сертификатов. Затем я проверил, стал ли nginx https. Затем я запустил nuxt в npm run start. Затем изменил конфигурацию nginx для поддержки запуска nuxt. Тогда страница больше не была видна.

Обновление 1: Я удалил nginx. Я запустил nuxt в производственном режиме. Я изменил nginx в соответствии с прокси.

map $sent_http_content_type $expires {
    "text/html"                 epoch;
    "text/html; charset=utf-8"  epoch;
    default                     off;
}

server {
    listen          80;             # the port nginx is listening on
    server_name     example.me wwww.example.me;    # setup your domain here


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

    location / {
        expires $expires;

        proxy_redirect                      off;
        proxy_set_header Host               $host;
        proxy_set_header X-Real-IP          $remote_addr;
        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto  $scheme;
        proxy_read_timeout          1m;
        proxy_connect_timeout       1m;
        proxy_pass                          http://127.0.0.1:3000; # set the adress of the Node.js instance here
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/example.me-0001/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.me-0001/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

Теперь по какой-то причине это работает .. Я установил перед сертификатом, может быть, эти сертификаты не были удалены. На самом деле трудно понять, как это начало работать.

Однако теперь он также позволяет http. Я хочу направить все http в https, но когда я ставлю

map $sent_http_content_type $expires {
    "text/html"                 epoch;
    "text/html; charset=utf-8"  epoch;
    default                     off;
}

server {
    listen          80;             # the port nginx is listening on
    server_name     example.me wwww.example.me;    # setup your domain here
    return 301 https://$host$request_uri;

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

    location / {
        expires $expires;

        proxy_redirect                      off;
        proxy_set_header Host               $host;
        proxy_set_header X-Real-IP          $remote_addr;
        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto  $scheme;
        proxy_read_timeout          1m;
        proxy_connect_timeout       1m;
        proxy_pass                          http://127.0.0.1:3000; # set the adress of the Node.js instance here
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/example.me-0001/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.me-0001/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

return 301 https://$host$request_uri; вызывает все сбои

Теперь новая проблема вызывается с веб-службы https. Но для этой темы она закрыта.

...