linux主機本地網站實現https配置

1.執行下面 shell 腳本文件

我這裡配置的本地域名為  www.qqliaotian.com

#!/bin/bash

# create self-signed server certificate:

read -p "Enter your domain [www.example.com]: " DOMAIN

echo "Create server key..."

#生成key私鑰文件

openssl genrsa -des3 -out $DOMAIN.key 1024

echo "Create server certificate signing request..."

#生成證書籤署請求 生成證書請求文件  生成 csr 請求文件

SUBJECT="/C=US/ST=Mars/L=iTranswarp/O=iTranswarp/OU=iTranswarp/CN=$DOMAIN"

openssl req -new -subj $SUBJECT -key $DOMAIN.key -out $DOMAIN.csr

echo "Remove password..."

mv $DOMAIN.key $DOMAIN.origin.key

openssl rsa -in $DOMAIN.origin.key -out $DOMAIN.key

#根據私鑰提取出公鑰

echo "Sign SSL certificate..."

#生成自簽證書

openssl x509 -req -days 3650 -in $DOMAIN.csr -signkey $DOMAIN.key -out $DOMAIN.crt

echo "TODO:"

echo "Copy $DOMAIN.crt to /etc/nginx/ssl/$DOMAIN.crt"

echo "Copy $DOMAIN.key to /etc/nginx/ssl/$DOMAIN.key"

echo "Add configuration in nginx:"

echo "server {"

echo " ..."

echo " listen 443 ssl;"

echo " ssl_certificate /etc/nginx/ssl/$DOMAIN.crt;"

echo " ssl_certificate_key /etc/nginx/ssl/$DOMAIN.key;"

echo "}"

2.根據echo提示 複製兩個文件到 /etc/nginx/ssl/文件下面

3.在/etc/nginx/config/文件夾下面 創建qqlianjie.conf的配置文件並重啟nginx主機 

配置內容如下:

server {

listen 443 ssl;

root /home/wangmenghua/Web/qqliaotian;

index index.php;

server_name www.qqliaotian.com;

ssl on;

ssl_certificate /etc/nginx/ssl/www.qqliaotian.com.crt;

ssl_certificate_key /etc/nginx/ssl/www.qqliaotian.com.key;

ssl_session_timeout 5m;

ssl_protocols SSLv2 SSLv3 TLSv1;

ssl_ciphers HIGH:!aNULL:!MD5;

ssl_prefer_server_ciphers on;

location / {

index index.php;

if (!-e $request_filename){

rewrite ^/(.*) /index.php last;

}

}

location ~ \.php$ {

include snippets/fastcgi-php.conf;

#

# # With php7.0-cgi alone:

fastcgi_pass 127.0.0.1:9000;

# # With php7.0-fpm:

# fastcgi_pass unix:/run/php/php7.0-fpm.sock;

}

}

看最後結果https訪問成功:

linux主機本地網站實現https配置


分享到:


相關文章: