Пренасочете HTTP трафик към HTTPS в Gatsby

Бих искал да пренасоча HTTP трафик към HTTPS, тъй като това е изискване на Lighthouse за PWA. Моят сайт е създаден с Гетсби.

Намерих различни добавки като тези по-долу, които изглежда предполагат, че отговорът идва от модифициране на файла .htaccess.

https://www.gatsbyjs.org/packages/gatsby-plugin-htaccess/

За плъгина по-горе опитах следната конфигурация, която не премина PWA одита:

{
      resolve: 'gatsby-plugin-htaccess',
      options: {
        RewriteBase: '/custom/',
        https: true,
        www: true,
        SymLinksIfOwnerMatch: true,
        host: 'av-site.com',
        redirect: [
          'RewriteRule ^not-existing-url/?$ /existing-url [R=301,L,NE]',
          {
            from: 'http:av-site.com',
            to: 'https:av-site.com',
          },
        ],
      },
    },

Може ли някой да ми помогне? Благодаря!


person Alex Verzea    schedule 15.07.2019    source източник
comment
Това не е нещо, което искате да правите в JavaScript, React или Gatsby. Трябва да използвате HTTP пренасочвания, внедрени в бекенда на вашето приложение (напр. express.js), хост (напр. Netlify) или сървър (напр. nginx). Също така обмислете използването на HSTS.   -  person coreyward    schedule 21.01.2020
comment
Благодаря за вашия отговор! В крайна сметка отидох с отговора на Nick C по-долу, тъй като той използва собствената функционалност на Gatsby за това (чрез gatsby-config.js).   -  person Alex Verzea    schedule 21.01.2020
comment
Точно така, и това е, което съветвам срещу. Пренасочването от страна на клиента не е сигурно или ефективно. Gatsby няма среда за изпълнение от страна на сървъра - трябва да конфигурирате вашия хост или сървър по подходящ начин.   -  person coreyward    schedule 21.01.2020
comment
Виждам. Тогава ще изпробвам подхода за пренасочване от страна на сървъра. Внедрявам в Netlify, така че ще разгледам възможността да използвам това. Благодаря за информацията!   -  person Alex Verzea    schedule 21.01.2020
comment
Това е супер лесно за Netlify, като активирате HSTS. https://docs.netlify.com/domains-https/https-ssl/#hsts-preload   -  person coreyward    schedule 21.01.2020


Отговори (1)


Уверете се, че в gatsby-config.js siteURL е https

module.exports = {
  siteMetadata: {
    title: `example`,
    description: ``,
    author: `me`,
    siteUrl: `https://example.com`
  },
person Nicholas Cappello    schedule 15.07.2019
comment
Това е! Благодаря! - person Alex Verzea; 16.07.2019
comment
Радвам се, че мога да помогна! - person Nicholas Cappello; 16.07.2019
comment
Някакви предложения, ако това не свърши работа? Работи на един сайт, не успява на друг. - person Slbox; 29.12.2020
comment
В крайна сметка пресъздадох записа CNAME в Cloudflare и въпреки че беше идентичен, това го поправи. Много утежняващо; Надявам се това да помогне на някого. - person Slbox; 29.12.2020
comment
Радвам се, че успяхте да разрешите проблема си. Често, когато използвате услуги като cloudfair и др. Те ще изискват от вас да „пресъздадете“ идентификационните данни за околната среда в тяхната конзола. Или поне да ги паркирате там. - person Nicholas Cappello; 01.01.2021