Cách tạo chứng chỉ SSL trên nginx cho CentOS 6
Giới thiệu về certificate tự ký
Chứng chỉ SSL là một cách để mã hóa thông tin của trang web và tạo kết nối an toàn hơn. Ngoài ra, certificate có thể hiển thị thông tin nhận dạng của server riêng ảo cho khách truy cập trang web. Tổ chức phát hành certificate có thể cấp certificate SSL để xác minh thông tin chi tiết của server trong khi certificate tự ký không có sự chứng thực của bên thứ ba.
Giới thiệu
Đảm bảo rằng nginx đã được cài đặt trên VPS của bạn. Nếu chưa, bạn có thể nhanh chóng cài đặt bằng 2 bước.
Cài đặt kho EPEL:
su -c 'rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm'
Cài đặt nginx
yum install nginx
Bước một — Tạo folder cho certificate
Chứng chỉ SSL có 2 phần chính: chính certificate và public key . Để làm cho tất cả các file có liên quan dễ dàng truy cập, ta nên tạo một folder để lưu trữ chúng trong:
sudo mkdir /etc/nginx/ssl
Ta sẽ thực hiện một số bước tiếp theo trong folder :
cd /etc/nginx/ssl
Bước hai — Tạo khóa server và yêu cầu ký certificate
Bắt đầu bằng cách tạo khóa server riêng. Trong quá trình này, bạn cần nhập một passphrase (password bảo vệ) cụ thể. Nhớ ghi chú kỹ cụm từ này, nếu quên hoặc làm mất sẽ không truy cập được certificate .
sudo openssl genrsa -des3 -out server.key 1024
Theo dõi bằng cách tạo yêu cầu ký certificate :
sudo openssl req -new -key server.key -out server.csr
Lệnh này sẽ nhắc terminal hiển thị danh sách các trường cần được điền vào.
Dòng quan trọng nhất là "Tên chung". Nhập domain chính thức của bạn tại đây hoặc nếu bạn chưa có, hãy nhập địa chỉ IP trang web . Để trống password thử thách và tên công ty tùy chọn.
You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:New York Locality Name (eg, city) []:NYC Organization Name (eg, company) [Internet Widgits Pty Ltd]:Awesome Inc Organizational Unit Name (eg, section) []:Dept of Merriment Common Name (e.g. server FQDN or YOUR name) []:example.com Email Address []:webmaster@awesomeinc.com
Bước ba — Xóa passphrase (password bảo vệ)
Ta gần như đã hoàn thành việc tạo certificate . Tuy nhiên, nó sẽ phục vụ ta để xóa passphrase (password bảo vệ) . Mặc dù có passphrase (password bảo vệ) tại chỗ cung cấp khả năng bảo mật cao hơn, nhưng vấn đề bắt đầu khi người ta cố gắng reload nginx. Trong trường hợp nginx gặp sự cố hoặc cần khởi động lại, bạn sẽ luôn phải nhập lại passphrase (password bảo vệ) của bạn để đưa toàn bộ web server trực tuyến trở lại.
Sử dụng lệnh này để xóa passphrase (password bảo vệ) :
sudo cp server.key server.key.org sudo openssl rsa -in server.key.org -out server.key
Bước bốn— Ký certificate SSL của bạn
Chứng chỉ của bạn đã hoàn tất, và bạn chỉ cần ký vào nó. Lưu ý bạn có thể chỉ định thời gian certificate sẽ còn hiệu lực bằng cách thay đổi 365 thành số ngày bạn muốn. Như hiện tại, certificate này sẽ hết hạn sau một năm.
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Đến đây bạn đã hoàn tất việc làm certificate của bạn .
Bước năm — Cài đặt certificate
Mở file cấu hình SSL:
vi /etc/nginx/conf.d/ssl.conf
Bỏ chú thích trong phần dưới dòng Server HTTPS. Khớp cấu hình của bạn với thông tin bên dưới, thay thế example.com trong dòng "server_name" bằng domain hoặc địa chỉ IP của bạn. Nếu bạn chỉ muốn kiểm tra certificate của bạn , root mặc định ở đó sẽ hoạt động.
# HTTPS server server { listen 443; server_name example.com; ssl on; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; }Sau đó khởi động lại nginx:
/etc/init.d/nginx restart
Truy cập https: // youraddress.
Bạn sẽ thấy certificate tự ký của bạn trên trang đó!
Tài nguyên
Các tin liên quan
Cách thiết lập server ảo nginx (server block) trên CentOS 62012-06-07
Cách cài đặt Rails và nginx với Passenger trên Ubuntu
2012-06-01
Cách cài đặt nginx trên CentOS 6 với yum
2012-05-22