Bật SSL với XAMPP


81

Tôi đã làm theo hướng dẫn này nhiều nhất có thể http://robsnotebook.com/xampp-ssl-encrypt-passwords .

Tuy nhiên, bất cứ khi nào tôi duyệt đến một trang bắt đầu bằng https, máy chủ apache sẽ trả lời 404 Object Not Found.

Tôi đang thiếu cài đặt nào? Cảm ơn vì bất kì sự giúp đỡ.


Liên kết hướng dẫn của bạn chưa phải là https nhưng nó dạy cách tạo httpa
Cholowao 30/03/18

Câu trả lời:


105

Đã tìm ra câu trả lời. Trong tệp xampp\apache\conf\extra\httpd-ssl.conf, dưới các SSL Virtual Host Contexttrang bình luận trên cổng 443 nghĩa là https được tra cứu dưới gốc tài liệu khác nhau.

Chỉ cần thay đổi gốc tài liệu thành cùng một gốc và sự cố đã được khắc phục.


9
Hãy nhớ rằng bạn cũng cần khởi động lại Apache để những thay đổi này có hiệu lực (bạn có thể phải tắt và bật lại SSL để xem nó hoạt động, sử dụng sudo /Applications/XAMPP/xamppfiles/xampp disablesslsudo /Applications/XAMPP/xamppfiles/xampp enablessltương ứng).
Wex

4
đừng quên chuyển tiếp cổng 443 cho SSL. Hy vọng điều đó có thể giúp ích cho ai đó =)
user1534664


Bài viết này đã giúp tôi rất nhiều và vui lòng KHÔNG QUÊN khởi động lại chrome. shellcreeper.com/how-to-create-valid-ssl-in-localhost-for-xampp
Moh Arjmandi

85

Bạn cũng có thể định cấu hình SSL của mình xampp/apache/conf/extra/httpd-vhost.confnhư sau:

<VirtualHost *:443>
    DocumentRoot C:/xampp/htdocs/yourProject
    ServerName yourProject.whatever
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt"
    SSLCertificateKeyFile "conf/ssl.key/server.key"
</VirtualHost>

Tôi đoán, tốt hơn là không nên thay đổi nó httpd-ssl.confnếu bạn có nhiều hơn một dự án và bạn cần SSL trên nhiều hơn một trong số chúng


tôi đã làm theo các bước tương tự và sửa đổi httpd-vhost.conf như bạn đã đề cập vì tôi có nhiều miền làm máy chủ lưu trữ như example.com example2.com example3.com và tôi đã thêm ssl vào example2.com Nhưng nó không hoạt động như mong đợi. Khi tôi truy cập example2.com, nó hiển thị trang web example.com.
Srikanth Gopi

12

Đối với XAMPP, hãy thực hiện các bước sau:

  1. G: \ xampp \ apache \ conf \ extra \ httpd-ssl.conf "

  2. Tìm kiếm văn bản 'DocumentRoot'.

  3. Thay đổi DocumentRoot DocumentRoot "G: / xampp / htdocs" thành DocumentRoot "G: / xampp / htdocs / project name".


10

định cấu hình SSL trong xampp / apache / conf / extra / httpd-vhost.conf

http

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/myproject/web"
    ServerName www.myurl.com

    <Directory "C:/xampp/htdocs/myproject/web">
        Options All
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

https

<VirtualHost *:443>
    DocumentRoot "C:/xampp/htdocs/myproject/web"
    ServerName www.myurl.com
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt" 
    SSLCertificateKeyFile "conf/ssl.key/server.key"
    <Directory "C:/xampp/htdocs/myproject/web">
        Options All
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

đảm bảo đường dẫn server.crt & server.key được cung cấp đúng cách nếu không điều này sẽ không hoạt động.

đừng quên bật vhost trong httpd.conf

# Virtual hosts
Include etc/extra/httpd-vhosts.conf

2

Cuối cùng, tôi đã có điều này để hoạt động trên trang web máy chủ xampp windows 10 được lưu trữ của riêng tôi. Tức là ổ khóa xuất hiện dưới dạng ssl. Tôi đang sử dụng phiên bản xampp từ tháng 11 năm 2020.

  1. Đã đến certbot.eff.org. Được chọn từ phần mềm trang chủ [apache] và hệ thống [windows]. Sau đó, tải xuống và cài đặt phần mềm certbot được tìm thấy ở trang tiếp theo vào ổ C của tôi.

  2. Sau đó, từ dòng lệnh [cmd trong Windows Start và sau đó trước khi bạn mở cmd, nhấp chuột phải để chạy cmd với tư cách quản trị viên] Tôi đã chỉnh sửa lệnh từ trang Certbot ở trên. Tức là đã điều hướng đến system32-- C: \ WINDOWS \ system32> certbot certonly --standalone

  3. Sau đó, làm theo lời nhắc và nhập tên miền của tôi. Điều này đã tạo chứng chỉ là cert1.pem và key1.pem trong C: \ Certbot yourwebsitedomain thư mục. cửa sổ cmd cho bạn biết chúng ở đâu.

  4. Sau đó, lấy những thứ này và thay đổi tên của chúng từ cert1.pem thành tên miền của tôi hoặc ngắn hơn + cert.pem và tương tự cho tên miền hoặc ngắn hơn + key.key. Sao chép chúng vào các thư mục C: \ xampp \ apache \ ssl.crt và ssl.key tương ứng.

  5. Sau đó, đối với G: \ xampp \ apache \ conf \ extra \ httpd-vhosts, nhập như sau:

<VirtualHost *:443>
    DocumentRoot "G:/xampp/htdocs/yourwebsitedomainname.hopto.org/public/" ###NB My document root is public.  Yours may not be.  Or could have an index.php page before /public###
    ServerName yourwebsitedomainnamee.hopto.org 
    <Directory G:/xampp/htdocs/yourwebsitedomainname.hopto.org>
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog "G:/xampp/apache/logs/error.log"
    CustomLog "G:/xampp/apache/logs/access.log" common
    SSLEngine on
SSLCertificateFile "G:\xampp\apache\conf\ssl.crt\abscert.pem"
SSLCertificateKeyFile "G:\xampp\apache\conf\ssl.key\abskey.pem"
</VirtualHost>  
     
  1. Sau đó, điều hướng đến G: \ xampp \ apache \ conf \ extra \ httpd-ssl.conf và làm như đã được khuyên ở trên. Tôi đã bỏ lỡ bước quan trọng này trong nhiều ngày cho đến khi tôi đọc bài đăng này. Cảm ơn bạn! Tức là đã vào
<VirtualHost _default_:443>
DocumentRoot "G:/xampp/htdocs/yourwebsitedomainnamee.hopto.org/public/"
###NB My document root is public.  Yours may not be.  Or could have an index.php page before /public###
SSLEngine on
SSLCertificateFile "conf/ssl.crt/abscert.pem"
SSLCertificateKeyFile "conf/ssl.key/abskey.pem"
CustomLog "G:/xampp/apache/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>  

Lưu ý 1. Tôi đã sử dụng www.noip.com để đăng ký tên miền. Lưu ý 2. Thay vì sau đó cố gắng yêu cầu họ cung cấp cho tôi chứng chỉ ssl, vì tôi không thể làm cho nó hoạt động, thay vào đó, ở trên đã hoạt động. Note3 Tôi sử dụng phần mềm noip DUC để giữ cho trang web được lưu trữ cá nhân của tôi đồng bộ với noip. Ghi chú 4. Rất quan trọng để dừng và khởi động máy chủ xampp sau mỗi thay đổi bạn thực hiện trong xampp. Nếu xampp không thành công vì một số lý do thay vì khởi động xampp consol, hãy thử khởi động xampp vì điều này sẽ cung cấp cho bạn các vấn đề mà bạn có thể sửa lỗi. Sao chép chúng nhanh chóng và dán vào note.txt.


1

Trong trường hợp bạn đang sử dụng Mac OS (catalina hoặc mojave) và muốn bật HTTPS / SSL trên XAMPP cho Mac, bạn cần kích hoạt máy chủ ảo và sử dụng các chứng chỉ mặc định có trong XAMPP. Trên httpd-vhosts.conftệp của bạn, hãy thêm một vhost mới:

<VirtualHost *:443>
    ServerAdmin webmaster@localhost.com
    DocumentRoot "/Users/your-user/your-site"
    ServerName your-site.local
    SSLEngine on
    SSLCertificateFile "etc/ssl.crt/server.crt" 
    SSLCertificateKeyFile "etc/ssl.key/server.key"
    <Directory "/Users/your-user/your-site">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.