我用 Google 搜索了这个问题,并找到了很多相关信息。但不知何故,无论我做什么,它都不起作用。以下是我的 site.conf
server {
listen 80;
server_name www3.mohave.gov;
return 301 https://$host$request_uri;
}
server{
listen 443 ssl http2; # default_server;
server_name www3.mohave.gov;
access_log /var/log/nginx/mohave_gov_access.log;
error_log /var/log/nginx/mohave_gov_error.log debug;
include /etc/nginx/sites-available/mohave_gov_ssl.conf;
# root /var/www/html;
location /health {
return 200 "healthy\n";
}
location / {
proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffers 16 4k;
proxy_buffer_size 2k;
proxy_pass https://www.mohave.gov:443/;
# proxy_pass https://www.mohave.gov/;
# proxy_pass https://www.mohave.gov;
# proxy_pass https://internal_ip:443/;
# proxy_pass https://internal_ip/;
proxy_read_timeout 60s;
}
}
我正在尝试点击默认页面
https://www3.mohave.gov甚至是默认页面https://www3.mohave.gov/Default.aspx 但不管怎样,我总是得到 404。我的 proxy_pass 样本来自我在 Google 上阅读的内容。我可以 ping 服务器www.mohave.gov从 nginx 服务器并使用以下命令进行验证:
telnet www.mohave.gov 443
返回:
正在尝试 10.4.1.8... 已连接到www.mohave.gov。
有什么想法或建议可以帮助我解决这个问题吗?
更新
好的,我认为问题在于我尝试访问的服务器仅使用 443,而我的部分研究表明我需要将 pem 证书放在反向代理中。我会尝试并更新
更新
当我将代理反向到接受端口 80 的站点时,它工作正常,但 SSL 存在问题。我遵循了以下步骤:
我使用以下命令从 pfx 导出证书:
Exporting the certificate only:
# openssl pkcs12 -in filename.pfx -clcerts -nokeys -out mohave.gov.pem
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffers 16 4k;
proxy_buffer_size 2k;
proxy_ssl_trusted_certificate /etc/nginx/ssl/mohave_gov/5_13_2022/mohave.gov.pem;
proxy_ssl_verify off;
# proxy_pass https://www.mohave.gov:443/;
proxy_pass https://www.mohave.gov/;
# proxy_pass https://10.4.1.8:443/;
# proxy_pass https://10.4.1.8/;
# proxy_pass https://10.4.1.8;
proxy_read_timeout 60s;
}
但我仍然收到 404 错误。