本人用nginx配置了多个server,一台服务器跑多个网站,一开始全部listen在80端口,后来配置了ssl安全证书
nginx配置文件如下,在浏览器里直接输入www.example1.com和www.example2.com可以正常访问http的接口网站。
如果想要访问https的接口,必须在浏览器里输入https://www.example1.com或者https://www.example2.com才能分别访问安全链接的网站,如果省略前面的协议项,默认访问的是http的不安全网站,如果把example1的80端口server注释掉,在浏览器里直接输入www.example1.com跳出来的是www.example2.com的这个不安全链接,我现在想要达到的目的是直接在浏览器里输入www.example1.com或者www.example2.com能直接访问安全链接网站,二不需要手动在前面加https,请问各位如何实现。
另外还有一个问题是我在该台服务器上运行了nodejs配置了一个nodejs的服务器listen在8081端口,在8081端口开发了一些图片静态资源,如果客户端要请求我的这个8081端口的静态资源,如果我输入www.example1.com:8081/1.png可以get到静态图片,但是如果我输入https:www.example1.com:8081/1.png浏览器会提示该站点无法提供安全链接,请问这个如何解决。
server{
listen 443 ssl;
server_name www.example1.com;
ssl_certificate 80000000_www.example1.pem;
ssl_certificate_key 8000000_www.example1.key;
root /www/example1;
include enable-php.conf;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name www.example1.com;
root /www/example1;
include enable-php.conf;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server{
listen 443 ssl;
server_name www.example2.com;
ssl_certificate 80000000_www.example2.pem;
ssl_certificate_key 8000000_www.example2.key;
root /www/example2;
include enable-php.conf;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name www.example2.com;
root /www/example2;
include enable-php.conf;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}