Ngink 禁止停止通过ip的方式访问,只能域名访问
- 打开Nginx配置文件:找到您的Nginx配置文件,通常位置于
/etc/nginx/nginx.conf
或/etc/nginx/sites-available/your_site_config
- 在配置,创建个新块的
server
块将所有请求重定到403 Forbidden或其他错误代码:server``listen``server_name``return
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name 192.168.1.1; # 将此处替换为您的服务器IP地址
return 403;
}
- 在同一个配置文件中,找到与您要限制访问的网站相关的现有
server
块。确保server_name
指令只包含您的域名称:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com; # 将此处替换为您的域名
# 其他配置...
}
- 保存并关闭配置文件。
- 重新加载Nginx配置:在命令运行中运行以下命令,使更改生成:
sudo nginx -t
sudo nginx -s reload
现在,通过IP地址访问您的网站时将收到403 Forbidden错误,而通过域名称访问则正常。
Person:
Nginx 配置443端口多个域名,不同的域名使用不同的证书?
步骤操作:
- 首先,确保已经获取了每个域名称的 SSL 证书文件(通常为
.crt
和.key
文件)。 - 打开Nginx配置文件:找到您的Nginx配置文件,通常位于
/etc/nginx/nginx.conf
或/etc/nginx/sites
或/etc/nginx/sites-available/
目录下。 - 针对每个域名,创建一个
server
块,配置监听443端口、指定域名和对应的SSL证书。例如,针对两个域名example.com
和example2.com
:
# example.com 的 server 块
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name example.com www.example.com;
ssl_certificate /path/to/your/example.com.crt; # 证书文件路径
ssl_certificate_key /path/to/your/example.com.key; # 私钥文件路径
}
# example2.com 的 server 块
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name example2.com www.example2.com;
ssl_certificate /path/to/your/example2.com.crt; # 证书文件路径
ssl_certificate_key /path/to/your/example2.com.key; # 私钥文件路径
}
根据需要,为每个域配置HTTP到HTTPS的重定向。在每个域的响应server
块中,配置监听80端口,并使用return
命令实际重定向:
# example.com 的 HTTP 重定向
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
# example2.com 的 HTTP 重定向
server {
listen 80;
listen [::]:80;
server_name example2.com www.example2.com;
return 301 https://$host$request_uri;
}
- 保存并关闭配置文件。
- 重新加载Nginx配置:在命令运行中运行以下命令,使更改生成:
sudo nginx -t
sudo nginx -s reload
现在,Nginx 将为每个域名分别使用不同的 SSL 证书在 443 端口上提供服务。同时,HTTP 请求将被重新指定到对应的 HTTPS 请求。