Tôi đang cố cài đặt chứng chỉ ssl trên máy chủ Ubuntu 20.04 của mình
Tôi đã tải xuống các tệp ssl và đặt chúng vào/home/ubuntu (sẽ thay đổi khi nó hoạt động):
- api_limitlesssoft_com_key.txt
- api.limitlesssoft.com.p7b
- api.limitlesssoft.com.crt
- api.limitlesssoft.com.ca-bundle
Bây giờ những gì tôi đã làm là chỉnh sửa tệp Máy chủ ảo để trông như thế này:
LoadModule mô-đun ssl_module/mod_ssl.so
LoadModule proxy_module mô-đun/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<Máy chủ ảo *:80>
Tên máy chủ api.limitlesssoft.com
ServerAdmin [email protected]
ProxyPreserveHost Bật
ProxyPass / http://127.0.0.1:5000/
ProxyPassReverse / http://127.0.0.1:5000/
Nhật ký lỗi ${APACHE_LOG_DIR}/error.log
Nhật ký tùy chỉnh ${APACHE_LOG_DIR}/access.log kết hợp
</Máy chủ ảo>
<Máy chủ ảo *:443>
Tên máy chủ api.limitlesssoft.com
ServerAdmin [email protected]
ProxyPreserveHost Bật
ProxyPass / http://127.0.0.1:5000/
ProxyPassReverse / http://127.0.0.1:5000/
Nhật ký lỗi ${APACHE_LOG_DIR}/error.log
Nhật ký tùy chỉnh ${APACHE_LOG_DIR}/access.log kết hợp
Công cụ SSL bật
SSLCertificateFile /home/ubuntu/api.limitlesssoft.com.crt
SSLCertificateKeyFile /home/ubuntu/api_limitlesssoft_com_key.txt
SSLCertificateChainFile /home/ubuntu/api.limitlesssoft.com.ca-bundle
</Máy chủ ảo>
và chỉ vì một số lý do http
một người làm việc.
a2enmod ssl
trả về rằng nó đã được chạy
tôi đã chạy sudo ufw 443
và nó được kích hoạt
ubuntu@ubuntu:/var/log/apache2$ telnet localhost 443
Đang thử 127.0.0.1...
Đã kết nối với máy chủ cục bộ.
Ký tự thoát là '^]'.
ubuntu@ubuntu:/var/log/apache2$ sudo netstat -peanut | grep ':80'
tcp6 0 0 :::80 :::* NGHE 0 46821 3493/Apache2
ubuntu@ubuntu:/var/log/apache2$ sudo netstat -peanut | grep ':443'
tcp6 0 0 :::443 :::* NGHE 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
Kết nối Internet đang hoạt động (máy chủ và thiết lập)
Proto Recv-Q Send-Q Địa chỉ cục bộ Địa chỉ nước ngoài Trạng thái
tcp 0 0 127.0.0.1:5000 0.0.0.0:* NGHE
tcp 0 0 127.0.0.53:53 0.0.0.0:* NGHE
tcp 0 0 0.0.0.0:22 0.0.0.0:* NGHE
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 ĐÃ THÀNH LẬP
tcp6 0 0 ::1:5000 :::* NGHE
tcp6 0 0 :::80 :::* NGHE
tcp6 0 0 :::21 :::* NGHE
tcp6 0 0 :::22 :::* NGHE
tcp6 0 0 :::443 :::* NGHE
udp 0 0 127.0.0.53:53 0.0.0.0:*
udp 0 0 192.168.1.109:68 0.0.0.0:*
raw6 0 0 :::58 :::* 7
ubuntu@ubuntu:~$ sudo ufw status
Trạng thái: Đang hoạt động
Đến hành động từ
-- ------ ----
33380 CHO PHÉP mọi nơi
443 CHO PHÉP mọi nơi
22 CHO PHÉP mọi nơi
80 CHO PHÉP Mọi nơi
33380 (v6) CHO PHÉP mọi nơi (v6)
443 (v6) CHO PHÉP Mọi nơi (v6)
22 (v6) CHO PHÉP Ở mọi nơi (v6)
80 (v6) CHO PHÉP Mọi nơi (v6)
Và đây là phần khởi động ứng dụng của tôi (khi gỡ lỗi, nó hoạt động trên https)
sử dụng Microsoft.AspNetCore.Builder;
sử dụng Microsoft.AspNetCore.Hosting;
sử dụng Microsoft.AspNetCore.Http;
sử dụng Microsoft.AspNetCore.HttpOverrides;
sử dụng Microsoft.Extensions.DependencyInjection;
sử dụng Microsoft.Extensions.Hosting;
sử dụng Hệ thống;
sử dụng System.Collections.Generic;
sử dụng System.Linq;
sử dụng System.Threading.T task;
không gian tên api.limitlesssoft.com
{
khởi nghiệp lớp công khai
{
// Phương thức này được gọi bởi bộ thực thi. Sử dụng phương pháp này để thêm dịch vụ vào vùng chứa.
// Để biết thêm thông tin về cách định cấu hình ứng dụng của bạn, hãy truy cập https://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
dịch vụ.AddControllers();
services.Configure<ForwardedHeadersOptions>(options =>
{
tùy chọn.ForwardedHeaders =
ForwardedHeaders.XForwardedFor | Chuyển tiếpHeaders.XForwardedProto;
});
}
// Phương thức này được gọi bởi bộ thực thi. Sử dụng phương pháp này để định cấu hình đường dẫn yêu cầu HTTP.
public void Configure(ứng dụng IApplicationBuilder, IWebHostEnvironment env)
{
nếu (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseForwardedHeaders();
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(điểm cuối =>
{
điểm cuối.MapControllers();
});
}
}
}