以前了解过ssl配置比较麻烦,需要弄挺多东西。
1、购买域名、获取ssl证书
2、安装nginx的ssl模块
3、配置config
1、购买域名、获取ssl证书
可以在腾讯云、阿里云购买域名,然后申请免费的ssl证书,因为免费的证书需要域名才能申请,那种ip地址的ssl证书,要钱买。域名不贵,几块钱一年。
然后下载证书,服务器上保存着。
2、安装nginx的ssl模块
找到安装nginx的路径,你肯定能找到,不然你的nginx如何启动呢,对吧、老板😊
这个是查看nginx安装信息,我圈起来的东西就是包含了ssl的模块。
我在第一次安装nginx的时候,遇到了没有gcc编译器等问题,这里直接将nginx所需的编译前全部下载:
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
然后重新安装模块:
./configure --with-http_ssl_module make
注:以上是已经安装了nginx的操作。如果是第一次安装nginx,就需要多执行一步安装操作
make install
然后将objs目录下生成的新nginx启动文件移动到nginx安装路径中,一般默认都是/usr/local/nginx
3、配置config
只需要在原来的基础上增加443的配置,这个,如下:
#user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024; }http {include mime.types;default_type application/octet-stream;#log_format main '$remote_addr - $remote_user [$time_local] "$request" '# '$status $body_bytes_sent "$http_referer" '# '"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 80;listen 443 ssl;server_name localhost;ssl_certificate /usr/local/nginx/ssl/quxiao.site_bundle.pem;ssl_certificate_key /usr/local/nginx/ssl/quxiao.site.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {root html;index index.html index.htm;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}}
ssl_certificate、ssl_certificate_key这两个是证书实际地址。
这里我们的域名直接访问是没有用的,访问域名回去dns服务器解析,但是我们的域名并未备案、获取域名是为了生成合法的ssl所以,咱们就本地设置一下,本地也是可以配置域名的。
linux(这里就算不配置这个也是可以访问的):
这样服务器就知道这个域名对应的ip地址(不配置也是可以用的,这里知识提一嘴)
win设置(主要是这个):
这里加一行配置。
当然,直接用ip地址也是可以。就会出现返回的证书(包含了我们的域名)和对应的访问不一样,我们使用的是ip地址,