本帖最后由 温柔的笑猫 于 2016-4-25 19:02 编辑
首先执行如下命令生成一个key
# openssl genrsa -des3 -out ssl.key 1024
然后他会要求你输入这个key文件的密码。 不推荐输入。
因为以后要给nginx使用。
每次reload nginx配置时候都要你验证这个PAM密码的。
由于生成时候必须输入密码。你可以输入后 再删掉。
# mv ssl.key xxx.key
# openssl rsa -in xxx.key -out ssl.key
# rm xxx.key
然后根据这个key文件生成证书请求文件
# openssl req -new -key ssl.key -out ssl.csr
以上命令生成时候要填很多东西 一个个看着写吧(可以随便,毕竟这是自己生成的证书)
Country Name (2 letter code) [AU]:CN State or Province Name (full name) [Some-State]:china
Locality Name (eg, city) []:shanghai
Organization Name (eg, company) [Internet Widgits Pty Ltd]:airway(随便写)
Organizational Unit Name (eg, section) []:airway
Common Name (eg, YOUR name) []:airway
Email Address []:(直接回车)
...
最后根据这2个文件生成crt证书文件
# openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt
这里365是证书有效期 推荐3650(时间长好)。
这个大家随意。
最后使用到的文件是key和crt文件。
备注:
如果需要用pfx 可以用以下命令生成
openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx
在需要使用证书的nginx配置文件的server节点里加入以下配置就可以了。
ssl on;
ssl_certificate /home/ssl.crt;
ssl_certificate_key /home/ssl.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
然后重启nginx就大功告成了。
同理:
在Apache中的配置也一样:
ServerName xxxx.xxxx.com:443
ServerAdmin xxxx@xxxx.com
SSLEngine on
SSLCertificateFile /home/ssl.crt
SSLCertificateKeyFile /home/ssl.key
然后重启apache就大功告成了。
完成以后要做端口转发(nginx的conf):
server
{
listen 80;
server_name xxxxx.xxxxx.com;
location / {
proxy_pass http://17.17.0.1:88/pass/;(这句话起作用)
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 500m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
做apache的端口转发(httpd.conf):
首先要先添加两句话:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
ServerName xxxx.xxxxxx.com:443
ServerAdmin oam@xxxxxx.com
ProxyPass / http://17.17.0.1:88/pass/
ProxyPassReverse / http://17.17.0.1:88/pass/
ErrorLog "/usr/local/apache/logs/error_log"
TransferLog "/usr/local/apache/logs/access_log"
SSLEngine on
SSLCertificateFile /home/ssl.crt
SSLCertificateKeyFile /home/ssl.key
首先执行如下命令生成一个key
# openssl genrsa -des3 -out ssl.key 1024
然后他会要求你输入这个key文件的密码。 不推荐输入。
因为以后要给nginx使用。
每次reload nginx配置时候都要你验证这个PAM密码的。
由于生成时候必须输入密码。你可以输入后 再删掉。
# mv ssl.key xxx.key
# openssl rsa -in xxx.key -out ssl.key
# rm xxx.key
然后根据这个key文件生成证书请求文件
# openssl req -new -key ssl.key -out ssl.csr
以上命令生成时候要填很多东西 一个个看着写吧(可以随便,毕竟这是自己生成的证书)
Country Name (2 letter code) [AU]:CN State or Province Name (full name) [Some-State]:china
Locality Name (eg, city) []:shanghai
Organization Name (eg, company) [Internet Widgits Pty Ltd]:airway(随便写)
Organizational Unit Name (eg, section) []:airway
Common Name (eg, YOUR name) []:airway
Email Address []:(直接回车)
...
最后根据这2个文件生成crt证书文件
# openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt
这里365是证书有效期 推荐3650(时间长好)。
这个大家随意。
最后使用到的文件是key和crt文件。
备注:
如果需要用pfx 可以用以下命令生成
openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx
在需要使用证书的nginx配置文件的server节点里加入以下配置就可以了。
ssl on;
ssl_certificate /home/ssl.crt;
ssl_certificate_key /home/ssl.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
然后重启nginx就大功告成了。
同理:
在Apache中的配置也一样:
ServerName xxxx.xxxx.com:443
ServerAdmin xxxx@xxxx.com
SSLEngine on
SSLCertificateFile /home/ssl.crt
SSLCertificateKeyFile /home/ssl.key
然后重启apache就大功告成了。
完成以后要做端口转发(nginx的conf):
server
{
listen 80;
server_name xxxxx.xxxxx.com;
location / {
proxy_pass http://17.17.0.1:88/pass/;(这句话起作用)
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 500m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
做apache的端口转发(httpd.conf):
首先要先添加两句话:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
ServerName xxxx.xxxxxx.com:443
ServerAdmin oam@xxxxxx.com
ProxyPass / http://17.17.0.1:88/pass/
ProxyPassReverse / http://17.17.0.1:88/pass/
ErrorLog "/usr/local/apache/logs/error_log"
TransferLog "/usr/local/apache/logs/access_log"
SSLEngine on
SSLCertificateFile /home/ssl.crt
SSLCertificateKeyFile /home/ssl.key
编辑回复