Î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();
});
}
}
}