Điểm:0

Cài đặt SSL Apache [Không trùng lặp]

lá cờ ch

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();
            });
        }
    }
}
Michael Hampton avatar
lá cờ cz
api.limitlesssoft.com vừa hết thời gian chờ trên cổng 443. Mặc dù vậy, nó vẫn hoạt động trên cổng 80. Bạn đã kiểm tra tường lửa của mình chưa?
Aleksa Ristic avatar
lá cờ ch
@MichaelHampton Ý bạn là gì?
Aleksa Ristic avatar
lá cờ ch
Tôi đã thêm kết quả `netstat -a -n` và như tôi có thể thấy có cổng 443
Aleksa Ristic avatar
lá cờ ch
Btw `ufw` bị vô hiệu hóa
Aleksa Ristic avatar
lá cờ ch
Tôi cũng đã bật ufw và vẫn không hoạt động (xem đầu ra trong câu hỏi đã chỉnh sửa)
Điểm:0
lá cờ ch

Tìm thấy giải pháp trong Kết nối bị từ chối HTTPS trên Apache và nó được đánh dấu là -1 điểm .... vấn đề là trong định tuyến ... chuyển tiếp cổng không chuyển tiếp cổng 443, chỉ 80. Đó là lý do tại sao nó không hoạt động.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.