{"id":988,"date":"2022-08-06T16:46:49","date_gmt":"2022-08-06T14:46:49","guid":{"rendered":"https:\/\/alessandromasciadri.com\/?p=988"},"modified":"2022-08-06T17:01:42","modified_gmt":"2022-08-06T15:01:42","slug":"come-eseguire-il-redirect-da-http-a-https-dei-server-apache","status":"publish","type":"post","link":"https:\/\/alessandromasciadri.com\/come-eseguire-il-redirect-da-http-a-https-dei-server-apache\/","title":{"rendered":"Come eseguire il redirect da HTTP a HTTPS dei server Apache"},"content":{"rendered":"\t\t<div data-akihiro-type=\"ama-post\" data-akihiro-id=\"988\" class=\"akihiro akihiro-988\" data-akihiro-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"akihiro-section akihiro-top-section akihiro-element akihiro-element-1afc632 akihiro-section-boxed akihiro-section-height-default akihiro-section-height-default\" data-id=\"1afc632\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"akihiro-container akihiro-column-gap-default\">\n\t\t\t\t\t<div class=\"akihiro-column akihiro-col-100 akihiro-top-column akihiro-element akihiro-element-4202c2d\" data-id=\"4202c2d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"akihiro-widget-wrap akihiro-element-populated\">\n\t\t\t\t\t\t<div class=\"akihiro-element akihiro-element-48b21e4 akihiro-widget akihiro-widget-text-editor\" data-id=\"48b21e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Apache HTTP server \u00e8 uno dei pi\u00f9 popolari server web. Apache \u00e8 un applicativo cross-platform ed ha un codice sorgente aperto.<\/p><p>Quando si amministrano server web, le chance di imbattersi in Apache sono davvero alte, data la sua grande fetta di mercato.<\/p><p>Uno dei task in cui ci si imbatter\u00e0 pi\u00f9 e pi\u00f9 volte \u00e8 quello di impostare il redirect del traffico HTTP verso un pi\u00f9 sicuro HTTPS. Questo permette di ottenere un aumento della sicurezza del traffico da e verso il proprio web server in quanto richieste e risposte non avverranno pi\u00f9 in plaintext, ma verranno crittate utilizzando TLS\/SSL.<\/p><p>Qui di seguito vediamo due modi per eseguire il redirect da HTTP a HTTPS.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-f596193 akihiro-widget akihiro-widget-heading\" data-id=\"f596193\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">Redirect da HTTP a HTTPS usando Virtual Host<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-754c754 akihiro-widget akihiro-widget-text-editor\" data-id=\"754c754\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>I Virtual Host di Apache permettono la configurazione di multipli domini sullo stesso web server. Nelle specifiche di ogni Virtual Host \u00e8 possibile indicare la document root del sito web, creare policy di sicurezza, specificare il certificato SSL da utilizzare, nonch\u00e9 configurare il redirect del traffico.<\/p><p>Tipicamente, quando si ha un certificato SSL installato su un dominio, saranno presenti due direttive Virtual Host per quel dominio. La prima per il traffico HTTP, ossia quello indirizzato verso la porta 80, il secondi per il traffico HTTPS indirizzato verso la porta 443. In Ubuntu e pi\u00f9 in generale nelle distribuzioni basate su Debian i file sono memorizzati nella directory.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-add3297 akihiro-widget akihiro-widget-code-highlight\" data-id=\"add3297\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash \">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>\/etc\/apache2\/sites-available<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-70e26ef akihiro-widget akihiro-widget-text-editor\" data-id=\"70e26ef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Per reindirizzare il traffico ad HTTPS utiliziamo la direttiva Redirect cos\u00ec come da codice qui sotto.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-4815ef4 akihiro-widget akihiro-widget-code-highlight\" data-id=\"4815ef4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash \">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp><VirtualHost *:80>\n    ServerName example.com\n    ServerAlias www.example.com\n    \n    Redirect permanent \/ https:\/\/example.com\/\n<\/VirtualHost>\n\n<VirtualHost *:443>\n    ServerName example.com\n    ServerAlias www.example.com\n    \n    Protocols h2 http\/1.1\n    \n    <If \"%{HTTP_HOST} == 'www.example.com'\">\n        Redirect permanent \/ https:\/\/example.com\/\n    <\/If>\n    \n    # SSL Configuration\n    \n    # Other Apache Configuration\n\n<\/VirtualHost>\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-079eafa akihiro-widget akihiro-widget-text-editor\" data-id=\"079eafa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Una volta salvata la configurazione del Virtual Host, \u00e8 necessario riavviare il servizio di Apache.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-3d515ab akihiro-widget akihiro-widget-code-highlight\" data-id=\"3d515ab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash \">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>sudo systemctl reload apache2<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-aaa9848 akihiro-widget akihiro-widget-heading\" data-id=\"aaa9848\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">Redirect da HTTP a HTTPS usando .htaccess<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-35233e7 akihiro-widget akihiro-widget-text-editor\" data-id=\"35233e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>.htaccess \u00e8 un file di configurazione a livello di singola directory per i web server Apache.<\/p><p>Questo file pu\u00f2 essere utilizzato per definire come Apache mette a disposizione i file contenuti nella directory dove il file .htaccess \u00e8 collocato ed abilita o disabilita features aggiuntive.<\/p><p>Generalmente il file .htaccess \u00e8 collocato nella root directory del sito web, ma si possono avere ulteriori file .htaccess anche nelle sue sottocartelle.<\/p><p>Questo metodo richiede il modulo mod_rewrite abilitato sul server Apache. Generalmente questo modulo \u00e8 abilitato di default sulla maggior parte dei server. Bench\u00e9 questo metodo sia perfettamente funzionante, \u00e8 comunque preferibile configurare un redirect del traffico a livello di Virtual Host in quanto pi\u00f9 facile e sicuro.<\/p><p>Qui di seguito un esempio di file .htaccess da collocare nella root folder del proprio sito web.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-325bc87 akihiro-widget akihiro-widget-code-highlight\" data-id=\"325bc87\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash \">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>RewriteEngine On\nRewriteCond %{HTTPS} off\nRewriteRule ^(.*)$ https:\/\/example.com\/$1 [L,R=301]\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-08bc4e8 akihiro-widget akihiro-widget-text-editor\" data-id=\"08bc4e8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Questa seconda versione invece reindirizza anche tutte le richieste che iniziano con www. Utilizzarla per reindirizzare tutti i visitatori verso la versione HTTPS e non www del sito.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-894e8b8 akihiro-widget akihiro-widget-code-highlight\" data-id=\"894e8b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash \">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>RewriteCond %{HTTPS} off [OR]\nRewriteCond %{HTTP_HOST} ^www\\.example\\.com [NC]\nRewriteRule ^(.*)$ https:\/\/example.com\/$1 [L,R=301]\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Apache HTTP server \u00e8 uno dei pi\u00f9 popolari server web. Apache \u00e8 un applicativo cross-platform ed ha un codice sorgente aperto. Quando si amministrano server web, le chance di imbattersi in Apache sono davvero alte, data la sua grande fetta di mercato. Uno dei task in cui ci si imbatter\u00e0 pi\u00f9 e pi\u00f9 volte \u00e8 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[18,20,19],"class_list":["post-988","post","type-post","status-publish","format-standard","hentry","category-sistemistica","tag-apache","tag-linux","tag-ubuntu"],"_links":{"self":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/988","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/comments?post=988"}],"version-history":[{"count":7,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/988\/revisions"}],"predecessor-version":[{"id":995,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/988\/revisions\/995"}],"wp:attachment":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/media?parent=988"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/categories?post=988"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/tags?post=988"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}