Heim > Betrieb und Instandhaltung > Nginx > So konfigurieren Sie den Nginx-Server https

So konfigurieren Sie den Nginx-Server https

WBOY
Freigeben: 2023-05-23 11:01:06
nach vorne
1582 Leute haben es durchsucht

Beantragen Sie ein Zertifikat

Es gibt derzeit viele Organisationen online, die persönliche kostenlose SSL-Zertifikate mit einer Gültigkeitsdauer von einigen Monaten bis zu einigen Jahren anbieten. Nehmen wir als Beispiel Startssl: https://www.startssl.com. Nach erfolgreicher Beantragung ist es 3 Jahre lang gültig und kann nach Ablauf kostenlos verlängert werden.

Auch der konkrete Bewerbungsprozess ist sehr einfach.

Wählen Sie nach der Registrierung und Anmeldung den Zertifikatsassistenten >> aus, um ein kostenloses SSL-Zertifikat zu beantragen.

Nachdem Sie den Domänennamen per E-Mail überprüft haben, generieren Sie dann die CSR des SSL-Zertifikats auf Ihrem eigenen Server, Merken Sie sich das Geheimnis der generierten Eingabe und verwenden Sie dann:

openssl req -newkey rsa:2048 -keyout weizhimiao.cn.key -out weizhimiao.cn.csr
Nach dem Login kopieren

Legen Sie das generierte Zertifikat in das angegebene Verzeichnis, in dem sich das befindet Das Zertifikat wird gespeichert, z. B. /data/secret/. Sehen Sie sich den Inhalt des Zertifikats weizhimiao.csr an, kopieren Sie den Inhalt in den Abschnitt „Certificate Signing Request (CSR)“ der Seite und senden Sie die Seite. /data/secret/ 。查看证书 weizhimiao.csr 内容,将内容复制到页面中的 certificate signing request (csr)部分,提交页面。

下载生成好的证书,选择对应的web服务器(nginx,1_weizhimiao.cn_bundle.crt),这样私钥和公钥我们就都有了。

  • 1_weizhimiao.cn_bundle.crt(公钥)

  • weizhimiao.cn.key(私钥)

nginx配置(为指定域名增加https)

nginx.conf当前配置

...
http {
 ...
 include /etc/nginx/conf.d/*.conf;

 server {
  ...
 }
}
Nach dem Login kopieren

./conf.d/weizhimiao.cn.conf中加入

server{
 listen 443 ssl;
 server_name weizhimiao.cn;

 ssl_certificate /data/secret/1_weizhimiao.cn_bundle.crt;
 ssl_certificate_key /data/secret/weizhimiao.cn.key;
 ssl_prefer_server_ciphers on;
 ssl_protocols tlsv1 tlsv1.1 tlsv1.2;

 ssl_ciphers 'keecdh+ecdsa+aes128 keecdh+ecdsa+aes256 keecdh+aes128 keecdh+aes256 kedh+aes128 kedh+aes256 des-cbc3-sha +sha !anull !enull !low !md5 !exp !dss !psk !srp !kecdh !camellia !rc4 !seed';

 add_header strict-transport-security 'max-age=31536000; preload';
 add_header x-frame-options deny;
 ssl_session_cache shared:ssl:10m;
 ssl_session_timeout 10m;
 keepalive_timeout 70;
 ssl_dhparam /data/secret/dhparam.pem;

 add_header x-content-type-options nosniff;

 add_header x-xss-protection 1;

 root /data/www/weizhimiao.cn;
 index index.html;

 location / {

 }
}
Nach dem Login kopieren

注:

配置中用到一个 /data/secret/dhparam.pem 文件,该文件是一个pem格式的密钥文件,用于tls会话中。用来加强ssl的安全性。生成该文件方法,

cd /data/secret/
openssl dhparam 2048 -out dhparam.pem
Nach dem Login kopieren

将原来80端口的访问,重定向。./conf.d/weizhimiao.cn.conf中加入

server{
 listen 80;
 server_name weizhimiao.cn;
 return 301 https://weizhimiao.cn$request_uri;
}
Nach dem Login kopieren

测试

检测配置文件是否有语法错误,需要输入之前生成公钥时输入的密码。

nginx -t
enter pem pass phrase:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Nach dem Login kopieren

重启nginx(切记,reload不起作用)

nginx -s stop
enter pem pass phrase:
nginx
enter pem pass phrase:
Nach dem Login kopieren

浏览器访问 weizhimiao.cn ,是否生效。

另,nginx配置了安全证书之后,nginx每次的reload、stop等操作都需要输入密码。

可以通过生成一个解密的key文件,替代原来key文件。

cd /data/secret/
openssl rsa -in weizhimiao.cn.key -out weizhimiao.cn.key.unsecure
Nach dem Login kopieren

替换 weizhimiao.cn.conf 中的 weizhimiao.cn.key

Laden Sie das generierte Zertifikat herunter und wählen Sie den entsprechenden Webserver (nginx, 1_weizhimiao.cn_bundle.crt) aus, sodass wir sowohl den privaten als auch den öffentlichen Schlüssel haben.

  • 1_weizhimiao.cn_bundle.crt (öffentlicher Schlüssel)

  • weizhimiao.cn.key (privater Schlüssel)

    < /li>

nginx-Konfiguration (fügen Sie https für den angegebenen Domänennamen hinzu) So konfigurieren Sie den Nginx-Server https

nginx.conf aktuelle Konfiguration

server {
 ...
 ssl_certificate /data/secret/1_weizhimiao.cn_bundle.crt;
 ssl_certificate_key /data/secret/weizhimiao.cn.key.unsecure;
 ...
}
Nach dem Login kopieren

./conf.d/weizhimiao.cn.conf hinzugefügt So konfigurieren Sie den Nginx-Server httpsrrreee

Hinweis: 🎜🎜 Konfiguration Es wird eine Datei /data/secret/dhparam.pem verwendet, die eine Schlüsseldatei im PEM-Format ist und in TLS-Sitzungen verwendet wird. Wird verwendet, um die Sicherheit von SSL zu erhöhen. Die Methode zum Generieren dieser Datei, 🎜rrreee🎜, leitet den ursprünglichen Zugriff auf Port 80 um. 🎜rrreee🎜🎜test🎜🎜🎜 zu ./conf.d/weizhimiao.cn.conf hinzugefügt, um zu erkennen, ob Syntaxfehler in der Konfigurationsdatei vorhanden sind. Sie müssen das Passwort eingeben, das Sie beim Generieren des öffentlichen Schlüssels eingegeben haben. 🎜rrreee🎜Starten Sie Nginx neu (denken Sie daran, das Neuladen funktioniert nicht)🎜rrreee🎜Besuchen Sie weizhimiao.cn mit dem Browser, um zu sehen, ob es wirksam wird. 🎜🎜Nachdem Nginx mit einem Sicherheitszertifikat konfiguriert wurde, benötigt Nginx außerdem für jedes Neuladen, Stoppen und andere Vorgänge ein Kennwort. 🎜🎜Sie können eine entschlüsselte Schlüsseldatei generieren, um die ursprüngliche Schlüsseldatei zu ersetzen. 🎜rrreee🎜Ersetzen Sie die Datei weizhimiao.cn.key in weizhimiao.cn.conf 🎜rrreee🎜Sie müssen das Passwort nicht mehr bei jedem Neuladen eingeben. 🎜🎜Verwenden Sie abschließend SSLlabs zum Testen. 🎜🎜🎜🎜🎜Ergebnis🎜🎜🎜🎜

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie den Nginx-Server https. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage