Puncte:0

Instalare Apache SSL [Nu este duplicat]

drapel ch

Încerc să instalez certificatul ssl pe serverul meu ubuntu 20.04

Am descărcat fișiere ssl și le-am pus în /home/ubuntu (se va schimba odată ce funcționează):

  • api_limitlesssoft_com_key.txt
  • api.limitlesssoft.com.p7b
  • api.limitlesssoft.com.crt
  • api.limitlesssoft.com.ca-bundle

Acum ceea ce am făcut este să editez fișierul gazdă virtuală astfel încât să arate așa:

LoadModule ssl_module modules/mod_ssl.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

<VirtualHost *:80>
        ServerName api.limitlesssoft.com
        ServerAdmin [email protected]

        ProxyPreserveHost activat
        ProxyPass / http://127.0.0.1:5000/
        ProxyPassReverse / http://127.0.0.1:5000/

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combinat
</VirtualHost>

<VirtualHost *:443>
        ServerName api.limitlesssoft.com
        ServerAdmin [email protected]

        ProxyPreserveHost activat
        ProxyPass / http://127.0.0.1:5000/
        ProxyPassReverse / http://127.0.0.1:5000/

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combinat

        SSLEngine activat
        SSLCertificateFile /home/ubuntu/api.limitlesssoft.com.crt
        SSLCertificateKeyFile /home/ubuntu/api_limitlesssoft_com_key.txt
        SSLCertificateChainFile /home/ubuntu/api.limitlesssoft.com.ca-bundle
</VirtualHost>

și numai din anumite motive http unul merge.

a2enmod ssl returnează că rulează deja am alergat sudo ufw 443 si este activat

ubuntu@ubuntu:/var/log/apache2$ telnet localhost 443
Încercați 127.0.0.1...
Conectat la localhost.
Caracterul de evacuare este „^]”.
ubuntu@ubuntu:/var/log/apache2$ sudo netstat -peanut | grep ':80'
tcp6 0 0 :::80 :::* ASCULTĂ 0 46821 3493/apache2   
ubuntu@ubuntu:/var/log/apache2$ sudo netstat -peanut | grep ':443'
tcp6 0 0 :::443 :::* ASCULTĂ 0 46825 3493/apache2   
tcp6 0 0 127.0.0.1:443 127.0.0.1:45968 TIME_WAIT 0 0 -  

ubuntu@ubuntu:/var/log/apache2$ netstat -a -n
Conexiuni la Internet active (servere și stabilite)
Proto Recv-Q Send-Q Adresă locală Adresă străină
tcp 0 0 127.0.0.1:5000 0.0.0.0:* ASCULTĂ
tcp 0 0 127.0.0.53:53 0.0.0.0:* ASCULTĂ
tcp 0 0 0.0.0.0:22 0.0.0.0:* ASCULTĂ
tcp 1 0 127.0.0.1:41170 127.0.0.1:5000 CLOSE_WAIT
tcp 0 192 192.168.1.109:22 192.168.1.2:61495 INSTALAT
tcp6 0 0 ::1:5000 :::* ASCULTĂ
tcp6 0 0 :::80 :::* ASCULTĂ
tcp6 0 0 :::21 :::* ASCULTĂ
tcp6 0 0 :::22 :::* ASCULTĂ
tcp6 0 0 :::443 :::* ASCULTĂ
udp 0 0 127.0.0.53:53 0.0.0.0:*
udp 0 0 192.168.1.109:68 0.0.0.0:*
brut6 0 0 :::58 :::* 7

ubuntu@ubuntu:~$ sudo ufw status
Stare: activ

La Acțiune De la
-- ------ ----
33380 PERMITĂ oriunde
443 PERMITĂ Oriunde
22 PERMITERE oriunde
80 PERMITĂ oriunde
33380 (v6) PERMITERE oriunde (v6)
443 (v6) PERMITERE oriunde (v6)
22 (v6) PERMITERE oriunde (v6)
80 (v6) PERMITERE oriunde (v6)

Și aici este pornirea aplicației mele (când depanare funcționează pe https)

folosind Microsoft.AspNetCore.Builder;
folosind Microsoft.AspNetCore.Hosting;
folosind Microsoft.AspNetCore.Http;
folosind Microsoft.AspNetCore.HttpOverrides;
folosind Microsoft.Extensions.DependencyInjection;
folosind Microsoft.Extensions.Hosting;
folosind System;
folosind System.Collections.Generic;
folosind System.Linq;
folosind System.Threading.Tasks;

namespace api.limitlesssoft.com
{
    Startup de clasă publică
    {
        // Această metodă este apelată de runtime. Utilizați această metodă pentru a adăuga servicii la container.
        // Pentru mai multe informații despre cum să configurați aplicația dvs., vizitați https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices (servicii IServiceCollection)
        {
            servicii.AddControllers();
            servicii.Configurați<ForwardedHeadersOptions>(opțiuni =>
            {
                opțiuni.ForwardedHeaders =
                    ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
            });
        }

        // Această metodă este apelată de runtime. Utilizați această metodă pentru a configura conducta de solicitare HTTP.
        public void Configurare (aplicația IApplicationBuilder, mediu IWebHostEnvironment)
        {
            dacă (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseForwardedHeaders();

            app.UseHttpsRedirection();

            app.UseStaticFiles();

            app.UseRouting();

            app.UseEndpoints(puncte finale =>
            {
                puncte finale.MapControllers();
            });
        }
    }
}
Michael Hampton avatar
drapel cz
api.limitlesssoft.com doar expiră pe portul 443. Totuși, funcționează pe portul 80. Ți-ai verificat firewall-ul?
Aleksa Ristic avatar
drapel ch
@MichaelHampton Ce vrei să spui prin asta?
Aleksa Ristic avatar
drapel ch
Am adăugat rezultatele `netstat -a -n` și după cum văd, există portul 443
Aleksa Ristic avatar
drapel ch
Btw `ufw` este dezactivat
Aleksa Ristic avatar
drapel ch
Am activat și ufw și încă nu funcționează (vezi rezultatul în întrebarea editată)
Puncte:0
drapel ch

Soluție găsită în Conexiune a refuzat HTTPS pe Apache și este marcat ca -1 puncte.... problema era la rutare... port forwarding nu a transmis portul 443, doar 80. De aceea nu mergea.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.